@deriv-web-design/ui 0.1.4 → 0.1.5

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../components/Button/Button.css","../components/Link/Link.css","../components/Chip/Chip.css","../components/Tag/Tag.css","../components/Accordion/Accordion.css","../components/TextField/TextField.css","../components/SearchField/SearchField.css","../components/BottomSheet/BottomSheet.css","../components/Breadcrumb/Breadcrumb.css","../components/ChipDropdown/ChipDropdown.css","../components/Card/CardPrimaryVariant.css","../components/Card/CardSecondaryVariant.css","../components/Card/CardThumbnailVariant.css","../components/Card/CardCategoryVariant.css","../components/Pagination/Pagination.css","../components/Tabs/Tabs.css","../templates/FaqAccordion/FaqAccordion.css","../templates/FeatureCards/FeatureCards.css","../templates/FeatureCardsIcon/FeatureCardsIcon.css","../templates/FeatureBullets/FeatureBullets.css","../components/Footer/Footer.css","../templates/Hero/Hero.css","../templates/Header/Header.css","../templates/Stats/StatsV2.css","../templates/Stats/StatsSimple.css","../templates/FeatureScroll/FeatureScroll.css","../templates/FeatureSplit/FeatureSplit.css","../templates/StickyStackedCards/StickyStackedCards.css","../templates/CTABanner/CTABanner.css","../components/Navbar/Navbar.css","../templates/DayNightTransition/DayNightTransition.css","../templates/LogoMarquee/LogoMarquee.css","../components/DownloadBadge/DownloadBadge.css","../templates/Steps/Steps.css","../templates/DownloadBanner/DownloadBanner.css","../templates/TextScroll/TextScroll.css","../templates/StickyMarketCards/StickyMarketCards.css","../templates/Table/Table.css","../templates/Leaders/Leaders.css","../templates/ImageBanner/ImageBanner.css","../templates/Testimonial/Testimonial.css","../templates/ArticleHero/ArticleHero.css","../templates/ArticleSection/ArticleSection.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-md);\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-700);\n color: var(--color-slate-50);\n}\n\n.coral_primary:hover:not(:disabled) {\n background-color: var(--color-coral-800);\n}\n\n.coral_primary:active:not(:disabled) {\n background-color: var(--color-coral-900);\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-700);\n border-color: var(--color-coral-700);\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}","/* ── 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: var(--chip-border-width) 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-border);\n border-width: var(--chip-selected-border-width);\n color: var(--chip-selected-text);\n}\n\n/* ── Disabled ─────────────────────────────────────────────── */\n\n.chip:disabled {\n border-color: var(--chip-disabled-border);\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/* Selected chip now has a visible border, ring stays at -3px */\n.chip.selected .focusRing {\n inset: -3px;\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: -3px;\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: 18px;\n padding: 0 var(--spacing-4);\n gap: var(--spacing-4);\n font-size: 0.625rem;\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.tag.custom {\n color: var(--text-disabled);\n padding: 0 !important;\n height: auto !important;\n text-transform: uppercase;\n letter-spacing: 0.08em;\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__focus-ring {\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__title-wrapper {\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); /* 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.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__chevron--rotated {\n transform: rotate(180deg);\n}\n\n/* ── Body — CSS Grid animated collapse ────────────────────── */\n\n.accordion__body-wrapper {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 200ms ease;\n}\n\n.accordion__body-wrapper--open {\n grid-template-rows: 1fr;\n}\n\n.accordion__body-inner {\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); /* 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.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 box-sizing: border-box;\n cursor: text;\n transition: background-color 100ms ease, border-color 100ms ease;\n}\n\n/* ── Variant: Outline ─────────────────────────────────────── */\n\n.sf-wrapper.outline {\n background: var(--field-surface-outline);\n border-color: var(--field-border-default);\n}\n\n/* ── Variant: Fill ────────────────────────────────────────── */\n\n.sf-wrapper.fill {\n background: var(--field-surface-fill);\n}\n\n/* ── Hover — neutral ──────────────────────────────────────── */\n\n.sf-wrapper.neutral.outline:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-hover);\n}\n\n.sf-wrapper.neutral.fill:hover:not([data-disabled]):not(:focus-within) {\n background: var(--field-surface-fill-hover);\n}\n\n/* ── Focus — neutral ──────────────────────────────────────── */\n\n.sf-wrapper.neutral.outline:focus-within:not([data-disabled]) {\n border-color: var(--field-border-focus);\n}\n\n.sf-wrapper.neutral.fill:focus-within:not([data-disabled]) {\n border-color: var(--field-border-focus);\n}\n\n/* ── Status: Fail — Outline ───────────────────────────────── */\n\n.sf-wrapper.fail.outline {\n border-color: var(--field-border-fail-default);\n}\n\n.sf-wrapper.fail.outline:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-fail-hover);\n}\n\n.sf-wrapper.fail.outline:focus-within:not([data-disabled]) {\n border-color: var(--field-border-fail-focus);\n}\n\n/* ── Status: Fail — Fill ──────────────────────────────────── */\n\n.sf-wrapper.fail.fill {\n background: var(--field-surface-fail);\n}\n\n.sf-wrapper.fail.fill:hover:not([data-disabled]):not(:focus-within) {\n background: var(--field-surface-fail-hover);\n}\n\n.sf-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.sf-wrapper.success.outline {\n border-color: var(--field-border-success-default);\n}\n\n.sf-wrapper.success.outline:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-success-hover);\n}\n\n.sf-wrapper.success.outline:focus-within:not([data-disabled]) {\n border-color: var(--field-border-success-focus);\n}\n\n/* ── Status: Success — Fill ───────────────────────────────── */\n\n.sf-wrapper.success.fill {\n background: var(--field-surface-success);\n}\n\n.sf-wrapper.success.fill:hover:not([data-disabled]):not(:focus-within) {\n background: var(--field-surface-success-hover);\n}\n\n.sf-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.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}","/* ── 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-xs);\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-xs);\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-xs);\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-700); }\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 background-color: transparent;\n}\n\n.card-primary .cp-image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\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 object-position: center;\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/* ── Horizontal layout ────────────────────────────────────── */\n\n.card-thumbnail.ct-horizontal {\n flex-direction: row;\n align-items: flex-start;\n gap: var(--spacing-16);\n max-width: 846px;\n}\n\n.card-thumbnail.ct-horizontal .ct-thumbnailWrapper {\n width: 151px;\n height: 100px;\n aspect-ratio: auto;\n flex-shrink: 0;\n border-radius: var(--radius-xl);\n}\n\n.card-thumbnail.ct-horizontal .ct-title {\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.card-thumbnail.ct-horizontal .ct-summary {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.card-thumbnail.ct-reverse {\n flex-direction: row-reverse;\n}\n\n@media (max-width: 767px) {\n .card-thumbnail.ct-horizontal {\n padding-bottom: var(--spacing-16);\n border-bottom: 1px solid var(--color-opacity-slate-8);\n }\n\n .card-thumbnail.ct-horizontal .ct-thumbnailWrapper {\n width: 132px;\n height: 88px;\n border-radius: var(--radius-md);\n }\n\n .card-thumbnail.ct-horizontal .ct-title {\n font-size: 16px;\n }\n\n .card-thumbnail.ct-horizontal .ct-summary {\n display: none;\n }\n}\n\n/* ── Thumbnail wrapper ────────────────────────────────────── */\n\n.card-thumbnail .ct-thumbnailWrapper {\n position: relative;\n width: 100%;\n aspect-ratio: 16 / 9;\n border-radius: var(--radius-2xl);\n overflow: hidden;\n flex-shrink: 0;\n outline: 1px solid var(--border-subtle);\n background-color: transparent;\n}\n\n.card-thumbnail .ct-thumbnailImage {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\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-8);\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-8);\n flex: 1 0 0;\n min-width: 0;\n}\n\n.card-thumbnail .ct-tagItem {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n}\n\n.card-thumbnail .ct-tagDot {\n color: var(--tag-custom-text-color);\n font-size: var(--font-size-md);\n line-height: 1;\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-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--font-weight-semi-bold);\n line-height: var(--typography-body-lg-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-sm-font-family);\n font-size: var(--typography-body-sm-font-size);\n font-weight: var(--typography-body-sm-font-weight);\n line-height: var(--typography-body-sm-line-height);\n color: var(--color-slate-1200);\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 0;\n}","/* ── Card Category shell ──────────────────────────────────── */\n\n.card-category {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n width: 100%;\n}\n\n/* ── Title ────────────────────────────────────────────────── */\n\n.card-category .cc-header {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n cursor: pointer;\n}\n\n.card-category .cc-header:hover .cc-title {\n text-decoration: underline;\n}\n\n.card-category .cc-header:hover .cc-thumbnailImage {\n transform: scale(1.05);\n}\n\n.card-category .cc-thumbnailImage {\n transition: transform 0.25s ease-in-out;\n}\n\n.card-category .cc-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}\n\n/* ── Thumbnail ────────────────────────────────────────────── */\n\n.card-category .cc-thumbnailWrapper {\n width: 100%;\n aspect-ratio: 16 / 9;\n border-radius: var(--radius-2xl);\n overflow: hidden;\n position: relative;\n}\n\n.card-category .cc-thumbnailImage {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n/* ── Article list ─────────────────────────────────────────── */\n\n.card-category .cc-articleList {\n display: flex;\n flex-direction: column;\n}\n\n.card-category .cc-articleItem {\n padding: var(--spacing-12) 0;\n border-bottom: 1px solid var(--color-opacity-slate-8);\n}\n\n.card-category .cc-articleItem:first-child {\n padding-top: 0;\n}\n\n.card-category .cc-articleItem:last-child {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n.card-category .cc-articleItem .card-thumbnail.ct-horizontal {\n border-bottom: none;\n padding-bottom: 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: var(--line-height-sm);\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: var(--line-height-sm);\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-xs);\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 TABS PRIMITIVE\n ============================================================ */\n\n:root {\n --tabs-gap: var(--spacing-8);\n}\n\n.tabs-menu {\n display: flex;\n align-items: center;\n gap: var(--tabs-gap);\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: none;\n /* Firefox */\n padding-bottom: var(--spacing-4);\n margin-bottom: calc(var(--spacing-4) * -1);\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.tabs-menu::-webkit-scrollbar {\n display: none;\n /* Chrome/Safari */\n}\n\n/* ── Override Chip styles for Tabs ────────────────────────── */\n\n/* Make sure the chip text doesn't wrap */\n.tabs-menu .chip {\n white-space: nowrap;\n}\n\n/* Override the default Chip selected state to use the solid dark background */\n.tabs-menu .chip.selected {\n background-color: var(--color-slate-1200);\n border-color: var(--color-slate-1200);\n color: var(--color-slate-50);\n}\n\n/* Ensure the label inherits the regular weight when selected to match Figma */\n.tabs-menu .chip.selected .label {\n font-weight: var(--font-weight-regular);\n}\n","/* ── Section shell ─────────────────────────────────────────── */\n\n.faq-accordion {\n width: 100%;\n}\n\n.faq-accordion--white {\n background-color: var(--color-slate-50);\n}\n\n.faq-accordion--slate {\n background-color: var(--color-slate-75);\n}\n\n/* ── Inner container ───────────────────────────────────────── */\n\n.faq-accordion__container {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .faq-accordion__container {\n gap: var(--spacing-48);\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Section header ────────────────────────────────────────── */\n\n.faq-accordion__header {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 1.25rem;\n /* 20px mobile */\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .faq-accordion__header {\n align-items: center;\n gap: var(--spacing-24);\n }\n}\n\n/* ── Title ─────────────────────────────────────────────────── */\n\n.faq-accordion__title {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--text-primary);\n margin: 0;\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .faq-accordion__title {\n text-align: center;\n }\n}\n\n/* ── Accordion list ────────────────────────────────────────── */\n\n.faq-accordion__list {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.faq-accordion__list > * {\n max-width: 100%;\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: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n /* mobile */\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .fc-container {\n padding: var(--spacing-112) var(--spacing-24);\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(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--text-primary);\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: grid;\n grid-template-columns: 1fr;\n gap: var(--spacing-16);\n width: 100%;\n}\n\n/* tablet: 2 columns */\n@media (min-width: 768px) {\n .fc-grid {\n grid-template-columns: repeat(2, 1fr);\n gap: var(--spacing-24);\n }\n}\n\n/* desktop: 3 or 4 columns depending on card count */\n@media (min-width: 992px) {\n .fc-grid--3 {\n grid-template-columns: repeat(3, 1fr);\n }\n\n .fc-grid--4 {\n grid-template-columns: repeat(4, 1fr);\n }\n}\n\n/* ── Two Cards variant ─────────────────────────────────────── */\n\n.fc-grid--twoCards {\n grid-template-columns: 1fr;\n gap: var(--spacing-24);\n align-items: stretch;\n}\n\n@media (min-width: 768px) {\n .fc-grid--twoCards {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (min-width: 992px) {\n .fc-grid--twoCards {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n.fc-twoCardWrap {\n display: flex;\n flex-direction: column;\n align-self: stretch;\n min-width: 0;\n width: 100%;\n min-height: 0;\n}\n\n.fc-twoCard {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: min-content;\n min-width: 0;\n width: 100%;\n border-radius: var(--radius-2xl);\n overflow: hidden;\n box-sizing: border-box;\n}\n\n.fc-twoCard--light {\n background-color: var(--color-slate-75);\n}\n\n.fc-twoCard--dark {\n background-color: var(--color-slate-1200);\n}\n\n.fc-twoCard-body {\n flex: 0 0 auto;\n display: flex;\n flex-direction: column;\n gap: 0;\n padding: var(--spacing-32);\n}\n\n/* Equal-height row when a card has no image: grow body to fill the tile */\n.fc-twoCard:not(:has(.fc-twoCard-imageSection)) .fc-twoCard-body {\n flex: 1 1 auto;\n}\n\n.fc-twoCard-content {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n.fc-twoCard-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(--text-primary);\n margin: 0;\n}\n\n.fc-twoCard--dark .fc-twoCard-title {\n color: var(--color-slate-50);\n}\n\n.fc-twoCard-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}\n\n.fc-twoCard--dark .fc-twoCard-description {\n color: var(--color-slate-50);\n}\n\n.fc-twoCard-linkWrap {\n margin-top: 0;\n}\n\n.fc-twoCard-platformsOuter {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n margin-top: var(--spacing-24);\n flex-shrink: 0;\n}\n\n.fc-twoCard-platformsHeading {\n margin: 0;\n font-family: var(--typography-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--font-weight-semi-bold);\n line-height: var(--typography-body-lg-line-height);\n color: var(--text-primary);\n}\n\n.fc-twoCard--dark .fc-twoCard-platformsHeading {\n color: var(--color-slate-50);\n}\n\n.fc-twoCard--light .fc-twoCard-platformsHeading {\n color: var(--text-primary);\n}\n\n.fc-twoCard-platformRow {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--spacing-16);\n}\n\n.fc-platformLink {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n text-decoration: none;\n color: var(--text-primary);\n}\n\n.fc-platformLink:hover {\n text-decoration: underline;\n}\n\n.fc-platformLink:focus-visible {\n outline: 2px solid var(--color-coral-700);\n outline-offset: 2px;\n border-radius: var(--radius-xs);\n}\n\n.fc-platformLink--dark {\n color: var(--color-slate-50);\n}\n\n.fc-platformLink-icon {\n display: block;\n width: 2rem;\n height: 2rem;\n flex-shrink: 0;\n object-fit: contain;\n}\n\n.fc-platformLink-label {\n font-family: var(--typography-body-sm-font-family);\n font-size: var(--typography-body-sm-font-size);\n font-weight: var(--typography-body-sm-font-weight);\n line-height: var(--typography-body-sm-line-height);\n}\n\n.fc-twoCard-imageSection {\n margin-top: auto;\n flex: 0 0 auto;\n width: 100%;\n aspect-ratio: 592 / 363.51;\n position: relative;\n overflow: hidden;\n background-color: transparent;\n}\n\n.fc-twoCard-image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: contain;\n object-position: bottom center;\n display: block;\n}\n\n/* ── One Card variant ──────────────────────────────────────── */\n\n.fc-oneCardShell {\n width: 100%;\n box-sizing: border-box;\n}\n\n.fc-oneCardGrid {\n box-sizing: border-box;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: auto;\n align-items: stretch;\n gap: var(--spacing-16);\n width: 100%;\n max-width: calc(64 * var(--spacing-16));\n margin-inline: auto;\n border-radius: var(--spacing-32);\n overflow: hidden;\n}\n\n@media (min-width: 768px) {\n .fc-oneCardGrid {\n grid-template-columns: 1fr 1fr;\n grid-template-rows: auto;\n max-height: calc(30 * var(--spacing-16));\n min-height: calc(30 * var(--spacing-16));\n }\n}\n\n.fc-oneCardLeft {\n display: flex;\n flex-direction: column;\n gap: 0;\n padding: var(--spacing-32);\n box-sizing: border-box;\n min-height: 0;\n min-width: 0;\n}\n\n.fc-oneCardContentBlock {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n min-width: 0;\n}\n\n.fc-oneCardRight {\n position: relative;\n min-width: 0;\n min-height: 0;\n background-color: var(--color-slate-1200);\n box-sizing: border-box;\n}\n\n@media (max-width: 767px) {\n .fc-oneCardRight {\n padding: 0 var(--spacing-16);\n }\n}\n\n.fc-oneCardImage {\n display: block;\n width: 100%;\n height: auto;\n margin: 0;\n object-fit: contain;\n object-position: center bottom;\n}\n\n@media (min-width: 768px) {\n .fc-oneCardRight {\n padding: 0;\n }\n\n .fc-oneCardImage {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n }\n}","/* ── Section shell ─────────────────────────────────────────── */\n\n.fci-section {\n width: 100%;\n background-color: var(--color-slate-50);\n}\n\n/* ── Inner container ───────────────────────────────────────── */\n\n.fci-container {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-48);\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .fci-container {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Header ────────────────────────────────────────────────── */\n\n.fci-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 .fci-header {\n align-items: center;\n text-align: center;\n }\n}\n\n/* ── Section title (H2) ────────────────────────────────────── */\n\n.fci-sectionTitle {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--text-primary);\n margin: 0;\n}\n\n/* ── Section description ───────────────────────────────────── */\n\n.fci-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.fci-grid {\n display: grid;\n grid-template-columns: 1fr;\n gap: var(--spacing-16);\n width: 100%;\n}\n\n/* tablet: always 2 columns */\n@media (min-width: 768px) {\n .fci-grid {\n grid-template-columns: repeat(2, 1fr);\n gap: var(--spacing-24);\n }\n}\n\n/* desktop: 3 or 4 columns depending on card count */\n@media (min-width: 992px) {\n .fci-grid--3 {\n grid-template-columns: repeat(3, 1fr);\n }\n\n .fci-grid--4 {\n grid-template-columns: repeat(4, 1fr);\n }\n}\n","/* ── Section shell ─────────────────────────────────────────── */\n\n.feature-bullets {\n width: 100%;\n background-color: var(--color-slate-50);\n}\n\n/* ── Inner container ───────────────────────────────────────── */\n\n.feature-bullets__container {\n display: flex;\n flex-direction: column;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .feature-bullets__container {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Split layout ──────────────────────────────────────────── */\n\n.feature-bullets__split {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--spacing-24);\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .feature-bullets__split {\n flex-direction: row;\n align-items: center;\n gap: 8rem;\n /* 128px — no token at this scale */\n }\n\n /* Reverse column order when image is on the left */\n .feature-bullets__split--image-left {\n flex-direction: row-reverse;\n }\n}\n\n/* ── Content column ────────────────────────────────────────── */\n\n.feature-bullets__content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-24);\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .feature-bullets__content {\n gap: var(--spacing-32);\n width: 540px;\n flex-shrink: 0;\n }\n}\n\n/* ── Title ─────────────────────────────────────────────────── */\n\n.feature-bullets__title {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--text-primary);\n margin: 0;\n}\n\n/* ── Bullet List ───────────────────────────────────────────── */\n\n.feature-bullets__bullet-list {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.feature-bullets__bullet-item {\n display: flex;\n align-items: flex-start;\n gap: var(--spacing-16);\n padding: var(--spacing-16) 0;\n border-bottom: 1px solid var(--color-slate-100);\n}\n\n.feature-bullets__bullet-item:first-child {\n padding-top: 0;\n}\n\n.feature-bullets__bullet-item:last-child {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n/* ── Icon ──────────────────────────────────────────────────── */\n\n.feature-bullets__icon-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem; /* 24px */\n height: 1.5rem; /* 24px */\n flex-shrink: 0;\n color: var(--color-slate-1200);\n margin-top: 2px; /* Slight optical adjustment to align with text */\n}\n\n.feature-bullets__icon {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n/* ── Bullet Text ───────────────────────────────────────────── */\n\n.feature-bullets__bullet-text {\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}\n\n/* ── Image column ──────────────────────────────────────────── */\n\n.feature-bullets__image-wrapper {\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: var(--radius-2xl);\n /* 24px mobile */\n overflow: hidden;\n flex-shrink: 0;\n position: relative;\n background-color: transparent;\n}\n\n@media (min-width: 992px) {\n .feature-bullets__image-wrapper {\n flex: 1 0 0;\n width: auto;\n border-radius: 2rem;\n /* 32px desktop — no exact token */\n }\n}\n\n.feature-bullets__image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\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-opacity-white-16) mob/tab\n --footer-divider-desktop var(--color-opacity-white-16) 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: 32px;\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 width: 32px;\n height: 32px;\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 cursor: pointer;\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: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--spacing-8);\n}\n\n.footer__app-badge {\n display: block;\n width: 100%;\n text-decoration: none;\n padding: var(--spacing-4) 0;\n}\n\n.footer__app-badge img {\n display: block;\n width: 100%;\n height: 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: var(--spacing-8) 0 0 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 /* Badges: single column inside narrow sidebar card */\n .footer__deriv-go-card .footer__app-badges {\n grid-template-columns: 1fr;\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 /* Restore icon sizes to 24px on desktop */\n .footer__social-icon {\n width: 24px;\n height: 24px;\n }\n\n .footer__social-icon svg {\n width: 16px;\n height: 16px;\n }\n\n .footer__ai-icon {\n width: 24px;\n height: 24px;\n }\n}\n","/* ============================================================\n HERO COMPONENT\n Variants: split | centered | showcase\n Dark, full-bleed, immersive — 100vh with scroll-driven shrink\n\n Token inheritance:\n Core (--color-*, --spacing-*, --font-*) →\n Semantic (--typography-*) →\n Component (--hero-*) →\n Styles\n ============================================================ */\n\n/* ── COMPONENT TOKENS ─────────────────────────────────────── */\n:root {\n --hero-dark-bg: var(--color-slate-1200);\n --hero-text-light: var(--color-slate-50);\n\n --hero-subtitle-size: var(--typography-body-md-font-size);\n --hero-subtitle-lh: var(--typography-body-md-line-height);\n --hero-subtitle-weight: var(--font-weight-semi-bold);\n\n --hero-title-size: var(--typography-h1-font-size);\n --hero-title-lh: var(--typography-h1-line-height);\n\n --hero-body-size: var(--typography-body-md-font-size);\n --hero-body-lh: var(--typography-body-md-line-height);\n\n /* Split variant padding */\n --hero-split-padding-top-mobile: var(--spacing-80);\n --hero-split-padding-top-tablet: var(--spacing-96);\n --hero-split-padding-top-desktop: var(--spacing-96);\n\n /* Centered / Showcase variant padding */\n --hero-shrink-radius: 3.5rem;\n --hero-padding-top-mobile: var(--spacing-80);\n --hero-padding-top-tablet: var(--spacing-96);\n --hero-padding-top-desktop: var(--spacing-112);\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 background-color: var(--hero-dark-bg);\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n height: 100vh;\n display: flex;\n align-items: flex-start;\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: var(--content-width-1280);\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(--hero-subtitle-weight);\n line-height: var(--hero-subtitle-lh);\n color: var(--hero-text-light);\n margin: 0;\n}\n\n.hero__title {\n font-size: var(--hero-title-size);\n font-weight: var(--typography-h1-font-weight);\n line-height: var(--hero-title-lh);\n color: var(--hero-text-light);\n margin: 0;\n}\n\n.hero__description {\n font-size: var(--hero-body-size);\n font-weight: var(--typography-body-md-font-weight);\n line-height: var(--hero-body-lh);\n color: var(--hero-text-light);\n margin: 0;\n opacity: 0.8;\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 align-items: stretch;\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: SPLIT\n Dark full-bleed bg image, gradient overlay, left text + right image\n Scroll-driven shrink animation\n ============================================================ */\n\n.hero--split {\n animation: hero-split-shrink linear both;\n animation-timeline: view();\n animation-range: exit 0% exit 40%;\n}\n\n@keyframes hero-split-shrink {\n 0% {\n border-bottom-left-radius: 0px;\n border-bottom-right-radius: 0px;\n scale: 1;\n }\n 100% {\n border-bottom-left-radius: var(--hero-shrink-radius);\n border-bottom-right-radius: var(--hero-shrink-radius);\n scale: 0.94;\n }\n}\n\n/* Mobile/tablet: transparent top → dark bottom */\n.hero--split .hero__overlay {\n background: linear-gradient(\n 180deg,\n transparent 0%,\n transparent 30%,\n var(--color-opacity-slate-48) 55%,\n var(--color-opacity-slate-88) 75%,\n var(--hero-dark-bg) 100%\n );\n}\n\n.hero--split .hero__inner {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n width: 100%;\n height: 100vh;\n padding-top: 0;\n padding-bottom: var(--spacing-40);\n padding-left: var(--spacing-16);\n padding-right: var(--spacing-16);\n}\n\n.hero--split .hero__content {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n width: 100%;\n}\n\n/* Mobile/tablet: hero image — vertically centred in viewport, 80vh band */\n.hero--split .hero__image-slot {\n position: absolute;\n top: 10vh;\n bottom: auto;\n left: 0;\n right: 0;\n height: 80vh;\n z-index: 1;\n overflow: visible;\n pointer-events: none;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.hero--split .hero__image-slot img {\n width: 100%;\n max-height: 100%;\n object-fit: contain;\n object-position: center;\n display: block;\n}\n\n.hero--split .hero__image-slot > *:not(img) {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n.hero--split .hero__subtitle {\n font-size: var(--typography-h4-font-size);\n line-height: var(--typography-h4-line-height);\n}\n\n.hero--split .hero__buttons {\n align-items: stretch;\n}\n\n/* ============================================================\n VARIANT: CENTERED\n Full bg image, centered text, top gradient overlay, 100vh\n ============================================================ */\n\n.hero--centered {\n animation: hero-centered-shrink linear both;\n animation-timeline: view();\n animation-range: exit 0% exit 40%;\n}\n\n@keyframes hero-centered-shrink {\n 0% {\n border-bottom-left-radius: 0px;\n border-bottom-right-radius: 0px;\n scale: 1;\n }\n 100% {\n border-bottom-left-radius: var(--hero-shrink-radius);\n border-bottom-right-radius: var(--hero-shrink-radius);\n scale: 0.94;\n }\n}\n\n/* Dark top → transparent bottom overlay */\n.hero--centered .hero__overlay {\n background: linear-gradient(\n 180deg,\n var(--hero-dark-bg) 0%,\n var(--color-opacity-slate-88) 20%,\n var(--color-opacity-slate-48) 45%,\n transparent 70%\n );\n}\n\n.hero--centered .hero__inner {\n display: flex;\n align-items: flex-start;\n justify-content: center;\n width: 100%;\n height: calc(100vh - 16px);\n padding-top: var(--hero-padding-top-mobile);\n padding-bottom: 0;\n}\n\n.hero--centered .hero__content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-24);\n width: 100%;\n height: 100vh;\n padding-bottom: var(--spacing-48);\n text-align: left;\n justify-content: flex-start;\n}\n\n.hero--centered .hero__text {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-16);\n max-width: 640px;\n width: 100%;\n}\n\n.hero--centered .hero__buttons {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-12);\n align-items: stretch;\n width: 100%;\n justify-content: center;\n}\n\n/* ============================================================\n VARIANT: SHOWCASE\n Dark bg + full-bleed bg image, center-aligned text,\n large product image below buttons\n ============================================================ */\n\n.hero--showcase {\n animation: hero-showcase-shrink linear both;\n animation-timeline: view();\n animation-range: exit 0% exit 40%;\n}\n\n@keyframes hero-showcase-shrink {\n 0% {\n border-bottom-left-radius: 0px;\n border-bottom-right-radius: 0px;\n scale: 1;\n }\n 100% {\n border-bottom-left-radius: var(--hero-shrink-radius);\n border-bottom-right-radius: var(--hero-shrink-radius);\n scale: 0.94;\n }\n}\n\n/* Dark top → transparent bottom overlay */\n.hero--showcase .hero__overlay {\n background: linear-gradient(\n 180deg,\n var(--hero-dark-bg) 0%,\n var(--color-opacity-slate-88) 20%,\n var(--color-opacity-slate-48) 45%,\n transparent 70%\n );\n}\n\n.hero--showcase .hero__inner {\n display: flex;\n align-items: flex-start;\n justify-content: center;\n width: 100%;\n height: calc(100vh - 16px);\n padding-top: var(--hero-padding-top-mobile);\n padding-bottom: 0;\n}\n\n.hero--showcase .hero__content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-24);\n width: 100%;\n height: 100vh;\n padding-bottom: var(--spacing-48);\n text-align: left;\n}\n\n.hero--showcase .hero__text {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-16);\n max-width: 640px;\n width: 100%;\n}\n\n.hero--showcase .hero__buttons {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-12);\n align-items: stretch;\n width: 100%;\n}\n\n/* Large product image — centered below buttons */\n.hero--showcase .hero__product-image {\n position: relative;\n width: 100%;\n max-width: 100%;\n height: 100%;\n min-height: 17.5rem;\n max-height: 50vh;\n overflow: clip;\n margin-top: auto;\n margin-bottom: 8px;\n}\n\n.hero--showcase .hero__product-image img,\n.hero--showcase .hero__product-image > * {\n width: 100%;\n height: 100%;\n display: block;\n object-fit: contain;\n object-position: center;\n}\n\n/* Smaller floating image — below product image */\n.hero--showcase .hero__floating-image {\n width: 100%;\n max-width: 160px;\n margin-top: auto;\n margin-bottom: var(--spacing-40);\n aspect-ratio: 1 / 1;\n}\n\n.hero--showcase .hero__floating-image img,\n.hero--showcase .hero__floating-image > * {\n width: 100%;\n height: 100%;\n display: block;\n object-fit: cover;\n object-position: center;\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--split .hero__inner {\n padding-top: var(--hero-split-padding-top-tablet);\n padding-bottom: var(--spacing-40);\n padding-left: var(--spacing-24);\n padding-right: var(--spacing-24);\n justify-content: flex-end;\n }\n\n .hero--split .hero__buttons {\n flex-direction: row;\n align-items: center;\n width: auto;\n }\n\n .hero--centered .hero__inner {\n padding-top: var(--hero-padding-top-tablet);\n padding-bottom: 0;\n }\n\n .hero--centered .hero__content {\n align-items: center;\n text-align: center;\n }\n\n .hero--centered .hero__text {\n align-items: center;\n }\n\n .hero--centered .hero__buttons {\n flex-direction: row;\n align-items: center;\n justify-content: center;\n max-width: none;\n width: auto;\n }\n\n .hero--showcase .hero__inner {\n padding-top: var(--hero-padding-top-tablet);\n padding-bottom: 0;\n }\n\n .hero--showcase .hero__content {\n align-items: center;\n text-align: center;\n }\n\n .hero--showcase .hero__text {\n align-items: center;\n }\n\n .hero--showcase .hero__buttons {\n flex-direction: row;\n align-items: center;\n justify-content: center;\n max-width: none;\n width: auto;\n }\n\n .hero--showcase .hero__product-image {\n max-width: 640px;\n }\n\n .hero--showcase .hero__floating-image {\n max-width: 180px;\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 /* ── Split desktop: text constrained to left half ── */\n .hero--split .hero__inner {\n max-width: var(--content-width-1280);\n padding-top: var(--hero-split-padding-top-desktop);\n padding-bottom: var(--spacing-96);\n padding-left: var(--spacing-32);\n padding-right: var(--spacing-32);\n height: 100vh;\n justify-content: center;\n align-items: flex-start;\n }\n\n .hero--split .hero__content {\n flex-direction: column;\n gap: var(--spacing-32);\n max-width: 600px;\n }\n\n .hero--split .hero__left {\n width: 100%;\n }\n\n .hero--split .hero__body {\n gap: var(--spacing-32);\n }\n\n .hero--split .hero__subtitle {\n line-height: var(--typography-h5-line-height);\n }\n\n /* Desktop: image in right half */\n .hero--split .hero__image-slot {\n position: absolute;\n top: var(--spacing-72);\n right: auto;\n left: 50%;\n transform: none;\n z-index: 4;\n width: 50%;\n height: calc(100% - 5px);\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: visible;\n pointer-events: none;\n max-width: none;\n }\n\n .hero--split .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: center;\n }\n\n .hero--split .hero__buttons {\n flex-direction: row;\n align-items: center;\n width: auto;\n gap: var(--spacing-16);\n }\n\n /* Desktop split overlay: dark left → transparent right */\n .hero--split .hero__overlay {\n background: linear-gradient(\n to right,\n var(--hero-dark-bg) 0%,\n var(--color-opacity-slate-88) 40%,\n var(--color-opacity-slate-24) 100%\n );\n }\n\n /* ── Centered desktop ── */\n .hero--centered .hero__inner {\n padding-top: var(--hero-padding-top-desktop);\n padding-bottom: 0;\n }\n\n .hero--centered .hero__text {\n max-width: 760px;\n }\n\n .hero--centered .hero__buttons {\n flex-direction: row;\n align-items: center;\n justify-content: center;\n width: auto;\n }\n\n /* ── Showcase desktop ── */\n .hero--showcase .hero__inner {\n padding-top: var(--hero-padding-top-desktop);\n padding-bottom: 0;\n }\n\n .hero--showcase .hero__text {\n max-width: 760px;\n }\n\n .hero--showcase .hero__product-image {\n width: auto;\n max-width: none;\n height: 50vh;\n max-height: none;\n aspect-ratio: 1 / 1;\n margin-bottom: 8vh;\n }\n\n .hero--showcase .hero__floating-image {\n max-width: 200px;\n }\n}\n\n/* ============================================================\n WIDE ≥1280px\n ============================================================ */\n\n@media (min-width: 1280px) {\n .hero--showcase .hero__product-image {\n width: auto;\n max-width: none;\n height: 50vh;\n max-height: none;\n aspect-ratio: 1 / 1;\n }\n\n .hero--showcase .hero__floating-image {\n max-width: 220px;\n }\n}\n","/* ============================================================\n HEADER COMPONENT\n Variants: visuals | minimal\n Light grey bg, content-first, lower visual weight\n\n Token inheritance:\n Core (--color-*, --spacing-*, --font-*) →\n Semantic (--typography-*) →\n Component (--header-*) →\n Styles\n ============================================================ */\n\n/* ── COMPONENT TOKENS ─────────────────────────────────────── */\n:root {\n --header-light-bg: var(--color-slate-75);\n --header-text-dark: var(--text-primary);\n\n --header-subtitle-size: var(--typography-body-md-font-size);\n --header-subtitle-lh: var(--typography-body-md-line-height);\n --header-subtitle-weight: var(--font-weight-semi-bold);\n\n --header-title-size: var(--typography-h1-font-size);\n --header-title-lh: var(--typography-h1-line-height);\n\n --header-body-size: var(--typography-body-md-font-size);\n --header-body-lh: var(--typography-body-md-line-height);\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.header {\n position: relative;\n width: 100%;\n font-family: var(--font-family-base);\n box-sizing: border-box;\n overflow: hidden;\n background-color: var(--header-light-bg);\n min-height: 540px;\n display: flex;\n align-items: center;\n}\n\n/* ── SVG GRID PATTERN ─────────────────────────────────────── */\n\n.header__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='64' height='64'%3E%3Cpath d='M 64 0 L 0 0 0 64' fill='none' stroke='%23cfd4d8' stroke-width='0.5' opacity='0.5'/%3E%3C/svg%3E\");\n background-repeat: repeat;\n background-size: 64px 64px;\n}\n\n/* ── OVERLAY — fades visuals at all edges ─────────────────── */\n\n.header__overlay {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 2;\n background:\n linear-gradient(to right, var(--header-light-bg) 0%, rgba(246, 247, 248, 0) 18%, rgba(246, 247, 248, 0) 82%, var(--header-light-bg) 100%),\n linear-gradient(to bottom, var(--header-light-bg) 0%, rgba(246, 247, 248, 0) 30%, rgba(246, 247, 248, 0) 70%, var(--header-light-bg) 100%);\n}\n\n/* ── INNER CONTAINER ──────────────────────────────────────── */\n\n.header__inner {\n position: relative;\n z-index: 3;\n width: 100%;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n box-sizing: border-box;\n padding: var(--spacing-24) var(--spacing-16);\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n min-height: 540px;\n}\n\n/* ── CONTENT ──────────────────────────────────────────────── */\n\n.header__content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-32);\n width: 100%;\n text-align: left;\n}\n\n/* ── BODY (text + buttons) ────────────────────────────────── */\n\n.header__body {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n}\n\n/* ── TEXT BLOCK ───────────────────────────────────────────── */\n\n.header__text {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n align-items: flex-start;\n max-width: var(--content-width-846);\n}\n\n.header__subtitle {\n font-size: var(--header-subtitle-size);\n font-weight: var(--header-subtitle-weight);\n line-height: var(--header-subtitle-lh);\n color: var(--header-text-dark);\n margin: 0;\n}\n\n.header__title {\n font-size: var(--header-title-size);\n font-weight: var(--typography-h1-font-weight);\n line-height: var(--header-title-lh);\n color: var(--header-text-dark);\n margin: 0;\n}\n\n.header__description {\n font-size: var(--header-body-size);\n font-weight: var(--typography-body-md-font-weight);\n line-height: var(--header-body-lh);\n color: var(--header-text-dark);\n margin: 0;\n}\n\n/* ── CTA BUTTONS ──────────────────────────────────────────── */\n\n.header__buttons {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n width: 100%;\n align-items: stretch;\n justify-content: flex-start;\n}\n\n/* ── FLOATING VISUALS (visuals variant only) ──────────────── */\n\n.header__visual {\n position: absolute;\n z-index: 1;\n overflow: hidden;\n pointer-events: none;\n}\n\n.header__visual img,\n.header__visual > * {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: contain;\n object-position: center;\n}\n\n/* Left visual: top-left corner; right visual: bottom-right corner */\n.header__visual--left {\n width: 160px;\n height: 160px;\n top: -20px;\n left: -20px;\n bottom: auto;\n right: auto;\n will-change: transform;\n}\n\n.header__visual--right {\n width: 160px;\n height: 160px;\n bottom: -20px;\n right: -20px;\n top: auto;\n left: auto;\n will-change: transform;\n}\n\n/* ============================================================\n TABLET ≥768px\n ============================================================ */\n\n@media (min-width: 768px) {\n .header__inner {\n padding: var(--spacing-40) var(--spacing-24);\n align-items: center;\n }\n\n .header__content {\n align-items: center;\n text-align: center;\n }\n\n .header__text {\n align-items: center;\n }\n\n .header__buttons {\n flex-direction: row;\n align-items: center;\n justify-content: center;\n width: auto;\n }\n}\n\n/* ============================================================\n DESKTOP ≥992px\n ============================================================ */\n\n@media (min-width: 992px) {\n .header__inner {\n padding: var(--spacing-48) var(--spacing-32);\n position: relative;\n }\n\n .header__content {\n max-width: var(--content-width-846);\n width: 100%;\n }\n\n .header__buttons {\n flex-direction: row;\n width: auto;\n }\n\n /* Desktop visuals: larger, left visual top-left, right visual bottom-right */\n .header--visuals .header__visual--left {\n width: 241px;\n height: 241px;\n top: 48px;\n left: 48px;\n bottom: auto;\n right: auto;\n }\n\n .header--visuals .header__visual--right {\n width: 241px;\n height: 241px;\n bottom: 48px;\n right: 48px;\n top: auto;\n left: auto;\n }\n}\n","/* ============================================================\n STATS V2 — laurel-wrapped award badges + auto-cycling carousel\n Mirrors the Webflow `stats-carousel` reference layout while\n reusing the same animation primitives as the Default Stats.\n\n Token inheritance:\n Primitive (core) → Semantic (--stats-v2-*) → Component\n ============================================================ */\n\n:root {\n /* Section bg is transparent in the Webflow reference — only the\n carousel card has a background, so it visibly \"pops\" against\n the page. The card uses `--color-slate-75` (#f6f7f8), the\n exact value referenced in the Webflow `stats-carousel` CSS\n (`.achievements_slider-component { background-color: #f6f7f8 }`).\n `--color-slate-50` would render pure white and disappear\n against a white page, which is what we want to avoid. */\n --stats-v2-bg: transparent;\n --stats-v2-card-bg: var(--color-slate-75);\n --stats-v2-text-primary: var(--text-primary);\n\n --stats-v2-title-size: var(--typography-h2-font-size);\n --stats-v2-title-lh: var(--typography-h2-line-height);\n\n --stats-v2-desc-size: var(--typography-body-md-font-size);\n --stats-v2-desc-lh: var(--typography-body-md-line-height);\n\n /* Carousel value — SAME size for every item (active + above + below).\n The visual hierarchy in the Webflow reference comes purely from\n `scale3d(0.7)` (above/below) vs `scale3d(1)` (active), NOT from\n a font-size change. Animating font-size mid-transition produces a\n visible \"text pop\" that the live site doesn't have, so we keep\n the typography stable and let the transform do all the work.\n\n Default value (mobile): Webflow's 4rem / 4.5rem at ≤479px.\n Tablet (≥768px) and desktop (≥992px) bump it to 5xl. */\n --stats-v2-value-size: 4rem;\n --stats-v2-value-lh: 4.5rem;\n\n --stats-v2-label-size: var(--typography-body-md-font-size);\n --stats-v2-label-lh: var(--typography-body-md-line-height);\n\n --stats-v2-award-heading-size: var(--font-size-xs);\n --stats-v2-award-heading-lh: var(--line-height-xs);\n --stats-v2-award-subheading-size: 0.625rem;\n --stats-v2-award-subheading-lh: var(--line-height-xs);\n\n /* ── Carousel slot spacing ────────────────────────────────\n Vertical distance between the active stat and the\n above/below neighbours, expressed as a percentage of each\n stat's own height. This is the SAME unit Webflow ships in\n its IX2 `TRANSFORM_MOVE` `yValue` and the SAME default\n (110%) — kept as a CSS variable so designers can override\n it without touching the React file. */\n --stats-v2-slot-offset: 110%;\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.stats-v2 {\n width: 100%;\n background-color: var(--stats-v2-bg);\n font-family: var(--font-family-base);\n box-sizing: border-box;\n}\n\n.stats-v2__inner {\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) 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-v2__header {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n text-align: left;\n}\n\n.stats-v2__title {\n font-size: var(--stats-v2-title-size);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--stats-v2-title-lh);\n color: var(--stats-v2-text-primary);\n margin: 0;\n}\n\n.stats-v2__description {\n font-size: var(--stats-v2-desc-size);\n font-weight: var(--font-weight-regular);\n line-height: var(--stats-v2-desc-lh);\n color: var(--stats-v2-text-primary);\n margin: 0;\n}\n\n/* ── CONTENT ROW ──────────────────────────────────────────── */\n\n.stats-v2__content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-32);\n width: 100%;\n}\n\n/* ── CAROUSEL CARD ────────────────────────────────────────── */\n\n.stats-v2__card {\n background-color: var(--stats-v2-card-bg);\n /* Webflow `.achievements_slider-component` uses border-radius: 3rem\n (48px). The design system tops out at --radius-2xl (1.5rem / 24px),\n so we hardcode the reference value here to keep the card visually\n identical to the live site. */\n border-radius: 3rem;\n padding: var(--spacing-24);\n width: 100%;\n max-width: 414px;\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.stats-v2__card-track {\n position: relative;\n width: 100%;\n /* Mobile carousel area — Webflow's mobile `.achievements_slider-component`\n is 320px tall (max-width 22rem; height 20rem) with 0 vertical padding,\n so the inner track gets the full 320px. */\n height: 320px;\n overflow: visible;\n}\n\n/* ── STAT ITEM (carousel slot) ────────────────────────────── */\n\n/* Webflow positions items with `position: absolute` (no top/left)\n and lets the parent flex container's `justify-content: center;\n align-items: center` place each item's STATIC position at the\n centre of the track. The IX2 transforms then operate on that\n centred origin — so the active item is `translateY(0%)` and\n above/below are `translateY(±110%)` relative to the centre.\n\n We replicate that by parking each item at `left: 50%; top: 50%`\n and using `transform: translate(-50%, -50%)` to centre it via\n its OWN box. The slot transforms in `getSlotStyle()` then add\n on top of that base — they ONLY change the Y component and\n the scale, never touching the X centring. The base translate\n keeps a constant horizontal centring no matter what slot the\n item is in. */\n.stats-v2__stat {\n position: absolute;\n top: 50%;\n left: 50%;\n text-align: center;\n will-change: transform, opacity;\n /* Default state matches the Webflow `is-2` (active) inline\n style: `translate3d(0, 0%, 0) scale3d(1, 1, 1)` once the\n `-50%, -50%` centring is factored in. */\n transform: translate(-50%, -50%);\n opacity: 1;\n}\n\n.stats-v2__stat-value {\n display: block;\n font-family: var(--font-family-base);\n /* Same size for every item — see the comment on\n `--stats-v2-value-size` above. */\n font-size: var(--stats-v2-value-size);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--stats-v2-value-lh);\n color: var(--stats-v2-text-primary);\n /* Mirrors Webflow's `.achievements_slider-heading\n { margin-bottom: -.5rem }` — pulls the subheading up\n so the two lines sit visually closer together. */\n margin-bottom: calc(var(--spacing-8) * -1);\n}\n\n.stats-v2__stat-label {\n display: block;\n font-family: var(--font-family-base);\n font-size: var(--stats-v2-label-size);\n font-weight: var(--font-weight-regular);\n line-height: var(--stats-v2-label-lh);\n color: var(--stats-v2-text-primary);\n}\n\n/* ── FADE OVERLAYS ────────────────────────────────────────── */\n\n.stats-v2__fade {\n position: absolute;\n left: 0;\n right: 0;\n /* 8rem (128px) at every breakpoint — taller than Webflow's\n reference (5–6.75rem) so the above/below stats blend\n further into the card background before the active stat\n takes the eye. Same height for both --top and --bottom. */\n height: 8rem;\n pointer-events: none;\n z-index: 3;\n}\n\n/* Fade-out gradients use the card colour at full opacity at the\n edge and fade to a transparent version of the same colour. */\n.stats-v2__fade--top {\n top: 0;\n background: linear-gradient(180deg,\n var(--stats-v2-card-bg) 0%,\n transparent 100%);\n}\n\n.stats-v2__fade--bottom {\n bottom: 0;\n background: linear-gradient(0deg,\n var(--stats-v2-card-bg) 0%,\n transparent 100%);\n}\n\n/* ── AWARD BADGE (laurel + text) ──────────────────────────── */\n\n.stats-v2__award {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: var(--spacing-8);\n width: 100%;\n max-width: 196px;\n color: var(--stats-v2-text-primary);\n box-sizing: border-box;\n}\n\n.stats-v2__award-text {\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n gap: var(--spacing-4);\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.stats-v2__award-heading {\n font-size: var(--stats-v2-award-heading-size);\n line-height: var(--stats-v2-award-heading-lh);\n font-weight: var(--font-weight-semi-bold);\n color: var(--stats-v2-text-primary);\n}\n\n.stats-v2__award-subheading {\n font-size: var(--stats-v2-award-subheading-size);\n line-height: var(--stats-v2-award-subheading-lh);\n font-weight: var(--font-weight-regular);\n color: var(--stats-v2-text-primary);\n}\n\n.stats-v2__laurel {\n flex-shrink: 0;\n width: 32px;\n height: 84px;\n display: block;\n}\n\n.stats-v2__laurel--flip {\n transform: scaleX(-1);\n}\n\n/* ── AWARD COLUMNS (desktop only) ─────────────────────────── */\n\n.stats-v2__awards-col {\n display: none;\n}\n\n/* ── MOBILE / TABLET AWARDS GRID ──────────────────────────── */\n\n.stats-v2__awards-mobile {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--spacing-16);\n width: 100%;\n max-width: 414px;\n justify-items: center;\n}\n\n/* On very small screens (< 360px) collapse to a single column\n so each badge has the full width and doesn't overflow. */\n@media (max-width: 359px) {\n .stats-v2__awards-mobile {\n grid-template-columns: 1fr;\n }\n}\n\n/* ============================================================\n TABLET ≥768px\n ============================================================ */\n\n@media (min-width: 768px) {\n .stats-v2__header {\n align-items: center;\n text-align: center;\n max-width: var(--content-width-846);\n margin-left: auto;\n margin-right: auto;\n }\n\n .stats-v2__inner {\n gap: var(--spacing-48);\n }\n\n .stats-v2__card {\n /* Webflow `.achievements_slider-component` uses 2.5rem 2.75rem\n padding (40px / 44px). We approximate the horizontal value\n with the same 40px vertical token since the 4px difference\n is imperceptible at this scale. */\n padding: var(--spacing-40);\n /* Tablet bumps the slider heading up to ~76px to match\n Webflow's desktop `.achievements_slider-heading`\n (4.75rem font-size / 5.5rem line-height). The 5xl\n token is the closest design-system match (5rem / 5.5rem). */\n --stats-v2-value-size: var(--font-size-5xl);\n --stats-v2-value-lh: var(--line-height-5xl);\n }\n\n .stats-v2__card-track {\n /* Webflow's wrapper fills card_height - 2*40px padding =\n ~334px (when the card itself is 414×414). The track\n needs to be tall enough that translateY(±110%) of a\n ~104px tall stat doesn't poke past the edges into the\n non-faded zone. 320px gives us comfortable headroom. */\n height: 320px;\n }\n}\n\n/* ============================================================\n DESKTOP ≥992px\n Switches to the 3-column [left | card | right] layout with\n top-aligned left awards and bottom-aligned right awards.\n ============================================================ */\n\n@media (min-width: 992px) {\n .stats-v2__inner {\n padding: var(--spacing-112) var(--spacing-24);\n gap: var(--spacing-48);\n }\n\n .stats-v2__content {\n flex-direction: row;\n align-items: stretch;\n justify-content: center;\n gap: var(--spacing-24);\n }\n\n /* Square 414×414 card — same dimensions as the reference. */\n .stats-v2__card {\n width: 414px;\n max-width: none;\n height: 414px;\n padding: var(--spacing-40);\n flex-shrink: 0;\n }\n\n .stats-v2__card-track {\n height: 334px;\n }\n\n /* Award columns appear; mobile grid hides. Each column matches the\n carousel card height (414px) and stacks its 2 awards with the\n 1.75rem (28px) gap from the Webflow `.achievements_side-block`\n reference. The runtime scroll-driven parallax (see StatsV2.tsx)\n then pushes each column into its final spread position:\n - left column: justify-content: flex-start → drifts down\n - right column: justify-content: flex-end → drifts up */\n .stats-v2__awards-col {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-32);\n width: 196px;\n height: 414px;\n flex-shrink: 0;\n align-items: center;\n /* Both columns centre their badges in the resting layout, so\n that `translateY(0%)` always puts the two stacks at exactly\n the same vertical position — i.e. perfectly parallel. The\n stagger we show at rest is produced by CSS initial\n transforms below (not by flex alignment), and the parallax\n animation interpolates those initial transforms back to\n `translateY(0%)` between PARALLAX_START and PARALLAX_END.\n This makes \"parallax ends\" ≡ \"columns are parallel\",\n independent of badge content height. */\n justify-content: center;\n will-change: transform;\n }\n\n /* Initial (pre-animation) stagger. Kept in sync with\n `PARALLAX_MAX_PERCENT` in StatsV2.tsx — if you change one,\n change the other. */\n .stats-v2__awards-col--left {\n transform: translateY(-26.3%);\n }\n\n .stats-v2__awards-col--right {\n transform: translateY(26.3%);\n }\n\n .stats-v2__awards-mobile {\n display: none;\n }\n}\n","/* ============================================================\n STATS SIMPLE — horizontal grid of value + label pairs\n No carousel, no awards. Matches the reference layout:\n 4 stats in a single row, large bold value, regular label.\n ============================================================ */\n\n:root {\n --stats-simple-bg: transparent;\n --stats-simple-text-primary: var(--text-primary);\n --stats-simple-text-secondary: var(--text-secondary);\n\n --stats-simple-value-size: var(--font-size-4xl);\n --stats-simple-value-lh: var(--line-height-4xl);\n\n --stats-simple-label-size: var(--typography-body-md-font-size);\n --stats-simple-label-lh: var(--typography-body-md-line-height);\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.stats-simple {\n width: 100%;\n background-color: var(--stats-simple-bg);\n font-family: var(--font-family-base);\n box-sizing: border-box;\n}\n\n.stats-simple__inner {\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: var(--spacing-40) var(--spacing-24);\n box-sizing: border-box;\n}\n\n/* ── STAT ITEM ────────────────────────────────────────────── */\n\n.stats-simple__item {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n}\n\n.stats-simple__value {\n font-size: var(--stats-simple-value-size);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--stats-simple-value-lh);\n color: var(--stats-simple-text-primary);\n}\n\n.stats-simple__label {\n font-size: var(--stats-simple-label-size);\n font-weight: var(--font-weight-regular);\n line-height: var(--stats-simple-label-lh);\n color: var(--stats-simple-text-secondary);\n}\n\n/* ============================================================\n TABLET ≥768px — 4-column single row\n ============================================================ */\n\n@media (min-width: 768px) {\n .stats-simple__inner {\n grid-template-columns: repeat(4, 1fr);\n gap: var(--spacing-24);\n padding: var(--spacing-64) var(--spacing-24);\n }\n}\n\n/* ============================================================\n DESKTOP ≥992px\n ============================================================ */\n\n@media (min-width: 992px) {\n .stats-simple__inner {\n padding: var(--spacing-80) var(--spacing-24);\n }\n\n :root {\n --stats-simple-value-size: var(--font-size-4xl);\n --stats-simple-value-lh: var(--line-height-4xl);\n }\n}\n","/* ============================================================\n FEATURE SCROLL COMPONENT\n Token inheritance:\n Primitive (core) → Semantic (--fs-*) → Component styles\n\n Component tokens (--fs-*) defined in :root below:\n\n Colors\n --fs-bg var(--color-slate-50)\n --fs-text-primary var(--color-slate-1200)\n --fs-text-muted var(--color-slate-500)\n --fs-link-color var(--color-coral-700)\n --fs-link-hover var(--color-coral-800)\n --fs-media-bg transparent\n\n Typography — font family\n --fs-font-family var(--font-family-base)\n\n Typography — section header (H2)\n --fs-header-family var(--typography-h2-font-family)\n --fs-header-size var(--typography-h2-font-size) [mobile 2.5rem → desktop 3.5rem]\n --fs-header-weight var(--typography-h2-font-weight) [800]\n --fs-header-lh var(--typography-h2-line-height) [mobile 3rem → desktop 4rem]\n\n Typography — item title (H3)\n --fs-title-family var(--typography-h3-font-family)\n --fs-title-size var(--typography-h3-font-size) [mobile 2rem → desktop 3rem]\n --fs-title-weight var(--typography-h3-font-weight) [800]\n --fs-title-lh var(--typography-h3-line-height) [mobile 2.5rem → desktop 3.5rem]\n\n Typography — body (body-md)\n --fs-body-family var(--typography-body-md-font-family)\n --fs-body-size var(--typography-body-md-font-size) [1rem]\n --fs-body-weight var(--typography-body-md-font-weight) [400]\n --fs-body-lh var(--typography-body-md-line-height) [1.5rem]\n\n Typography — link (link-md)\n --fs-link-family var(--typography-link-md-font-family)\n --fs-link-size var(--typography-link-md-font-size) [1rem]\n --fs-link-weight var(--typography-link-md-font-weight) [600]\n --fs-link-lh var(--typography-link-md-line-height) [1.5rem]\n\n Layout\n --fs-col-gap var(--spacing-112) [7rem = 112px]\n --fs-media-radius var(--radius-2xl) [1.5rem = 24px]\n --fs-mobile-radius var(--radius-2xl) [24px mobile]\n --fs-sticky-top var(--spacing-80) [80px — clears a typical nav]\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────── */\n\n:root {\n /* Colors */\n --fs-bg: var(--color-slate-50);\n --fs-text-primary: var(--text-primary);\n --fs-text-muted: var(--color-slate-500);\n --fs-link-color: var(--color-coral-700);\n --fs-link-hover: var(--color-coral-800);\n --fs-media-bg: transparent;\n\n /* Typography — font family */\n --fs-font-family: var(--font-family-base);\n\n /* Typography — section header (H2) */\n --fs-header-family: var(--typography-h2-font-family);\n --fs-header-size: var(--typography-h2-font-size);\n --fs-header-weight: var(--typography-h2-font-weight);\n --fs-header-lh: var(--typography-h2-line-height);\n\n /* Typography — item title (H3) */\n --fs-title-family: var(--typography-h3-font-family);\n --fs-title-size: var(--typography-h3-font-size);\n --fs-title-weight: var(--typography-h3-font-weight);\n --fs-title-lh: var(--typography-h3-line-height);\n\n /* Typography — body */\n --fs-body-family: var(--typography-body-md-font-family);\n --fs-body-size: var(--typography-body-md-font-size);\n --fs-body-weight: var(--typography-body-md-font-weight);\n --fs-body-lh: var(--typography-body-md-line-height);\n\n /* Typography — link */\n --fs-link-family: var(--typography-link-md-font-family);\n --fs-link-size: var(--typography-link-md-font-size);\n --fs-link-weight: var(--typography-link-md-font-weight);\n --fs-link-lh: var(--typography-link-md-line-height);\n\n /* Layout */\n --fs-col-gap: var(--spacing-112);\n /* 7rem = 112px */\n --fs-media-radius: var(--radius-2xl);\n /* 1.5rem = 24px */\n --fs-mobile-radius: var(--radius-2xl);\n /* 24px on mobile */\n --fs-sticky-top: var(--spacing-80);\n /* 80px — clears a typical nav */\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.fs {\n width: 100%;\n background-color: var(--fs-bg);\n font-family: var(--fs-font-family);\n box-sizing: border-box;\n}\n\n/* ── INNER CONTAINER ──────────────────────────────────────── */\n\n.fs__inner {\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) 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.fs__header {\n font-family: var(--fs-header-family);\n font-size: var(--fs-header-size);\n font-weight: var(--fs-header-weight);\n line-height: var(--fs-header-lh);\n color: var(--fs-text-primary);\n margin: 0;\n}\n\n/* ── DESKTOP TWO-COLUMN LAYOUT — hidden on mobile ─────────── */\n\n.fs__layout {\n display: none;\n}\n\n/* ── MOBILE STACKED LIST — visible on mobile only ─────────── */\n\n.fs__mobile-list {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-48);\n}\n\n.fs__mobile-item {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n/* ── MOBILE MEDIA ─────────────────────────────────────────── */\n\n.fs__mobile-media {\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: var(--fs-mobile-radius);\n background-color: var(--fs-media-bg);\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.fs__mobile-media img,\n.fs__mobile-media > * {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\n}\n\n/* ── SHARED ITEM TEXT ELEMENTS ────────────────────────────── */\n\n.fs__item-title {\n font-family: var(--fs-title-family);\n font-size: var(--fs-title-size);\n font-weight: var(--fs-title-weight);\n line-height: var(--fs-title-lh);\n color: var(--fs-text-primary);\n margin: 0;\n}\n\n.fs__item-desc {\n font-family: var(--fs-body-family);\n font-size: var(--fs-body-size);\n font-weight: var(--fs-body-weight);\n line-height: var(--fs-body-lh);\n color: var(--fs-text-muted);\n margin: 0;\n}\n\n.fs__item-link {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n font-family: var(--fs-link-family);\n font-size: var(--fs-link-size);\n font-weight: var(--fs-link-weight);\n line-height: var(--fs-link-lh);\n color: var(--fs-link-color);\n text-decoration: none;\n transition: color 0.2s ease;\n cursor: pointer;\n}\n\n.fs__item-link:hover {\n color: var(--fs-link-hover);\n}\n\n/* Inline SVG chevron icon */\n.fs__item-link-icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n transition: transform 0.2s ease;\n}\n\n.fs__item-link:hover .fs__item-link-icon {\n transform: translateX(var(--spacing-4));\n}\n\n/* ============================================================\n TABLET ≥768px\n ============================================================ */\n\n@media (min-width: 768px) {\n .fs__inner {\n padding: var(--spacing-56) var(--spacing-24);\n gap: var(--spacing-40);\n }\n}\n\n/* ============================================================\n DESKTOP ≥992px\n ============================================================ */\n\n@media (min-width: 992px) {\n .fs__header {\n text-align: center;\n }\n\n .fs__inner {\n padding: var(--spacing-112) var(--spacing-24);\n gap: var(--spacing-56);\n }\n\n /* ── SHOW DESKTOP LAYOUT, HIDE MOBILE LIST ─────────────── */\n\n .fs__layout {\n display: flex;\n flex-direction: row;\n gap: var(--fs-col-gap);\n align-items: flex-start;\n width: 100%;\n /* Shared with media col + each text step — one viewport band below nav */\n --fs-step-band: calc(100svh - var(--fs-sticky-top));\n }\n\n .fs__mobile-list {\n display: none;\n }\n\n /* ── VARIANT: media-left — reverse column order ─────────── */\n\n .fs--media-left .fs__layout {\n flex-direction: row-reverse;\n }\n\n /* ── MEDIA COLUMN (outer) ─────────────────────────────────\n * Stretches to the full text column height. Sticky lives on\n * .fs__media-sticky so the sticky constraint rectangle's bottom\n * is the section end — not the outer top + one viewport band.\n */\n .fs__media-col {\n flex: 1 0 0;\n min-width: 0;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n }\n\n /* Sticky viewport band under nav; same vertical rhythm as text steps */\n .fs__media-sticky {\n flex: 0 0 auto;\n width: 100%;\n position: sticky;\n top: var(--fs-sticky-top);\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: stretch;\n min-height: var(--fs-step-band);\n box-sizing: border-box;\n }\n\n /* Square media wrapper — crossfade container */\n .fs__media-wrap {\n width: 100%;\n aspect-ratio: 1 / 1;\n position: relative;\n border-radius: var(--fs-media-radius);\n background-color: var(--fs-media-bg);\n overflow: hidden;\n }\n\n /* Each media item stacked absolutely — crossfade via opacity */\n .fs__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 .fs__media-item--active {\n opacity: 1;\n }\n\n /* Image fills the container */\n .fs__media-item img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\n }\n\n /* Lottie player fills the container */\n .fs__media-item > * {\n width: 100% !important;\n height: 100% !important;\n }\n\n /* ── CONTENT COLUMN ───────────────────────────────────────\n * All steps in normal document flow — continuous scroll, every block\n * fully visible. Min-height ≈ one viewport band below nav so scroll\n * rhythm + media line up; steps can grow if copy is long.\n */\n .fs__content-col {\n flex: 1 0 0;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 0;\n }\n\n .fs__item {\n display: flex;\n flex-direction: column;\n justify-content: center;\n flex-shrink: 0;\n margin: 0;\n min-height: var(--fs-step-band);\n gap: var(--spacing-24);\n padding-left: var(--spacing-32);\n box-sizing: border-box;\n }\n}\n","/* ── Section shell ─────────────────────────────────────────── */\n\n.feature-split {\n width: 100%;\n background-color: var(--color-slate-50);\n}\n\n/* ── Inner container ───────────────────────────────────────── */\n\n.feature-split__container {\n display: flex;\n flex-direction: column;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .feature-split__container {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Split layout ──────────────────────────────────────────── */\n\n.feature-split__split {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--spacing-24);\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .feature-split__split {\n flex-direction: row;\n align-items: center;\n gap: 8rem;\n /* 128px — no token at this scale */\n }\n\n /* Reverse column order when image is on the left */\n .feature-split__split--image-left {\n flex-direction: row-reverse;\n }\n}\n\n/* ── Content column ────────────────────────────────────────── */\n\n.feature-split__content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-16);\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .feature-split__content {\n gap: 1.25rem;\n /* 20px — no token at this scale */\n width: 540px;\n flex-shrink: 0;\n }\n}\n\n/* ── Title ─────────────────────────────────────────────────── */\n\n.feature-split__title {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--text-primary);\n margin: 0;\n}\n\n/* ── Description ───────────────────────────────────────────── */\n\n.feature-split__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}\n\n/* ── Image column ──────────────────────────────────────────── */\n\n.feature-split__image-wrapper {\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: var(--radius-2xl);\n /* 24px mobile */\n overflow: hidden;\n flex-shrink: 0;\n position: relative;\n background-color: transparent;\n}\n\n@media (min-width: 992px) {\n .feature-split__image-wrapper {\n flex: 1 0 0;\n width: auto;\n border-radius: 2rem;\n /* 32px desktop — no exact token */\n }\n}\n\n.feature-split__image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\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 --ssc-font-family var(--font-family-base) [Inter, sans-serif]\n\n Section header:\n --ssc-header-color var(--color-slate-1200) [dark text on white bg]\n --ssc-header-size var(--typography-h2-font-size) [mobile 2.5rem → desktop 3.5rem]\n --ssc-header-lh var(--typography-h2-line-height) [mobile 3rem → desktop 4rem]\n --ssc-header-weight var(--typography-h2-font-weight) [800]\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-700) [#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 — card title (H3):\n --ssc-title-size var(--typography-h3-font-size) [mobile 2rem → desktop 3rem]\n --ssc-title-lh var(--typography-h3-line-height) [mobile 2.5rem → desktop 3.5rem]\n --ssc-title-weight var(--typography-h3-font-weight) [800]\n\n Typography — body copy:\n --ssc-body-size var(--typography-body-md-font-size) [1rem]\n --ssc-body-lh var(--typography-body-md-line-height) [1.5rem]\n --ssc-body-weight var(--typography-body-md-font-weight) [400]\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 31.25rem [500px fixed card height]\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 /* Font family */\n --ssc-font-family: var(--font-family-base);\n\n /* Section header color */\n --ssc-header-color: var(--text-primary);\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-700);\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(--typography-h2-font-size);\n --ssc-header-lh: var(--typography-h2-line-height);\n --ssc-header-weight: var(--typography-h2-font-weight);\n\n /* Typography — card title (H3) */\n --ssc-title-size: var(--typography-h3-font-size);\n --ssc-title-lh: var(--typography-h3-line-height);\n --ssc-title-weight: var(--typography-h3-font-weight);\n\n /* Typography — body copy */\n --ssc-body-size: var(--typography-body-md-font-size);\n --ssc-body-lh: var(--typography-body-md-line-height);\n --ssc-body-weight: var(--typography-body-md-font-weight);\n\n /* Layout */\n --ssc-card-radius: var(--radius-2xl);\n /* 24px */\n --ssc-content-gap: var(--spacing-24);\n --ssc-sticky-top: var(--spacing-80);\n /* 80px */\n --ssc-peek-offset: var(--spacing-16);\n /* 16px per card peek */\n --ssc-card-min-height: 31.25rem;\n /* 500px fixed card height — desktop */\n --ssc-img-height-mobile: 21rem;\n /* ~336px mobile */\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.ssc {\n width: 100%;\n background-color: var(--ssc-bg);\n font-family: var(--ssc-font-family);\n box-sizing: border-box;\n}\n\n/* ── INNER CONTAINER ──────────────────────────────────────── */\n\n.ssc__inner {\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) 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(--ssc-header-weight);\n line-height: var(--ssc-header-lh);\n color: var(--ssc-header-color);\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);\n /* 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;\n /* mobile: text on top, image below */\n box-sizing: border-box;\n width: 100%;\n\n /* 16px gap between cards */\n margin-bottom: var(--ssc-peek-offset);\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.ssc__card:last-child {\n margin-bottom: 0;\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(--ssc-title-weight);\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(--ssc-body-weight);\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 background-color: transparent;\n}\n\n.ssc__card-image img {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\n}\n\n/* ============================================================\n TABLET ≥768px\n ============================================================ */\n\n@media (min-width: 768px) {\n .ssc__inner {\n padding: var(--spacing-56) 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-24);\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);\n /* 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-32);\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}","/* ── Layout — Figma-specific dimensions (local to this template) ── */\n\n/*\n * Grid-cell sizing strategy\n * ─────────────────────────\n * --ctab-grid-cell drives both the background grid repeat AND the avatar size.\n * Because --ctab-avatar-size = --ctab-grid-cell, every avatar occupies exactly\n * one grid cell — left and right edges always land on grid lines.\n *\n * Mobile / tablet: fluid calc so the stage width is always an exact integer\n * multiple of the cell. ODD column counts guarantee that the centred avatars\n * (left: calc(50% - avatar/2)) collapse to an integer column (e.g. col 2 of 5),\n * putting both their edges on grid lines too.\n *\n * < 480px → 5 cols → centre col 2\n * 480-767px → 7 cols → centre col 3\n * 768-991px → 11 cols → centre col 5\n *\n * Desktop: fixed 96 px — the stage is max-width 1280 px and background-position\n * is shifted dynamically so grid lines coincide with stage x = 0.\n */\n\n:root {\n --ctab-max-width: var(--content-width-1280);\n /* 11 rows: 1 cell top + 9 cell avatar span + 1 cell bottom = equal spacing */\n --ctab-stage-height: calc(11 * var(--ctab-grid-cell));\n --ctab-hero-max-width: 90%;\n --ctab-avatar-radius: var(--radius-xl);\n /* 5 odd columns, fluid — stage always = 5 × grid-cell */\n --ctab-grid-cell: calc(100vw / 5);\n --ctab-avatar-size: var(--ctab-grid-cell);\n /* Section = stage — breathing room comes from avatar row offsets inside the stage */\n --ctab-section-min-height: var(--ctab-stage-height);\n}\n\n/* ── Mobile Large (480px – 767px) ───────────────────────────── */\n@media (min-width: 480px) and (max-width: 767px) {\n :root {\n --ctab-hero-max-width: 80%;\n /* 7 odd columns — stage always = 7 × grid-cell */\n --ctab-grid-cell: calc(100vw / 7);\n }\n}\n\n/* ── Tablet (768px – 991px) ─────────────────────────────────── */\n@media (min-width: 768px) and (max-width: 991px) {\n :root {\n --ctab-stage-height: 48rem;\n /* 768px */\n --ctab-hero-max-width: 70%;\n --ctab-avatar-radius: var(--radius-2xl);\n /* 11 odd columns — stage always = 11 × grid-cell */\n --ctab-grid-cell: calc(100vw / 11);\n /* section = stage; breathing room comes from avatar row offsets inside the stage */\n --ctab-section-min-height: var(--ctab-stage-height);\n }\n}\n\n/* ── Desktop (992px+) ───────────────────────────────────────── */\n@media (min-width: 992px) {\n :root {\n --ctab-stage-height: 42.5rem;\n /* 680px — compact desktop stage */\n --ctab-hero-max-width: var(--content-width-846);\n --ctab-avatar-radius: var(--radius-2xl);\n --ctab-grid-cell: 6rem;\n /* 96px fixed, no token lookup */\n --ctab-avatar-size: 6rem;\n --ctab-section-min-height: 42.5rem;\n }\n\n /* Default variant — 9-row stage (9 × 96px = 864px).\n * Stage centre = 432px = row 4 centre → hero aligns with mid-left/right avatars.\n * 1-cell breathing room at top (row 1) and bottom (864 − 768 = 96px). */\n .ctab:not(.ctab--compact) {\n --ctab-stage-height: 54rem;\n /* 9 × 96px = 864px */\n --ctab-section-min-height: 54rem;\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(--color-coral-700);\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 /* Fade the grid out on all four edges */\n -webkit-mask-image:\n linear-gradient(to right, transparent 0%, black 20%, black 80%, transparent 100%),\n linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);\n -webkit-mask-composite: destination-in;\n mask-image:\n linear-gradient(to right, transparent 0%, black 20%, black 80%, transparent 100%),\n linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);\n mask-composite: intersect;\n background-image:\n repeating-linear-gradient(to right,\n transparent 0,\n transparent calc(var(--ctab-grid-cell) - 1px),\n var(--color-opacity-white-16) calc(var(--ctab-grid-cell) - 1px),\n var(--color-opacity-white-16) var(--ctab-grid-cell)),\n repeating-linear-gradient(to bottom,\n transparent 0,\n transparent calc(var(--ctab-grid-cell) - 1px),\n var(--color-opacity-white-16) calc(var(--ctab-grid-cell) - 1px),\n var(--color-opacity-white-16) var(--ctab-grid-cell));\n /*\n * Shift the grid so its origin aligns with the stage's top-left corner.\n * Mobile/tablet: inner has 24px horizontal padding, no vertical offset.\n * Desktop: inner is horizontally centred (max-width 80rem) and the\n * stage is vertically centred inside the taller section.\n */\n /*\n * Y is shifted back by (cell − 1px) so the repeating-gradient's first\n * white band lands exactly at y = 0 (top edge of the section).\n * Without this, the first horizontal line appears at y = cell − 1,\n * leaving the topmost row with no top border.\n */\n background-position: 0px calc(1px - var(--ctab-grid-cell));\n}\n\n@media (min-width: 992px) {\n .ctab__grid {\n /*\n * X: clamp at 0 — below max-width the inner fills the viewport (no\n * margin), so the grid origin stays at section x = 0. Above max-width\n * the inner is centred so we shift by the margin amount.\n * Y: same (cell − 1px) shift so a line appears at the top edge.\n */\n background-position:\n max(0px, calc((100vw - var(--ctab-max-width)) / 2)) calc(1px - 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 padding: 0 var(--spacing-24);\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .ctab__inner {\n padding: 0;\n }\n}\n\n/* ── STAGE — avatar coordinate space ─────────────────────────── */\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(--spacing-16);\n width: var(--ctab-hero-max-width);\n max-width: 100%;\n text-align: center;\n padding: var(--spacing-48) 0;\n}\n\n/* ── HEADLINE ────────────────────────────────────────────────── */\n\n.ctab__headline {\n margin: 0;\n font-family: var(--typography-h1-font-family);\n font-size: var(--typography-h1-font-size);\n font-weight: var(--typography-h1-font-weight);\n line-height: var(--typography-h1-line-height);\n color: var(--color-slate-50);\n}\n\n\n/* ── AVATAR ──────────────────────────────────────────────────── */\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(--shadow-md);\n flex-shrink: 0;\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 object-position: center;\n display: block;\n border-radius: var(--ctab-avatar-radius);\n}\n\n/* ── Below desktop — use mobile avatar positions ─────────────── */\n\n@media (max-width: 991px) {\n .ctab__avatar {\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}","/* ── Layout tokens (local to this template) ─────────────────── */\n\n:root {\n --navbar-height: 4rem;\n /* 64px */\n --navbar-max-width: 84rem;\n /* 1344px */\n --navbar-pill-radius: 80px;\n --navbar-dropdown-w: 60rem;\n /* 960px */\n --navbar-dropdown-radius: var(--spacing-32);\n --navbar-z-base: 100;\n --navbar-z-dropdown: 101;\n --navbar-z-drawer: 200;\n --navbar-z-backdrop: 199;\n}\n\n/* ── SECTION ─────────────────────────────────────────────────── */\n\n.navbar {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n z-index: var(--navbar-z-base);\n padding: var(--spacing-16) 0;\n font-family: var(--font-family-base);\n box-sizing: border-box;\n transition: background-color 200ms ease, backdrop-filter 200ms ease, box-shadow 200ms ease;\n}\n\n/* On scroll — pill becomes white, text becomes dark */\n.navbar--dark.navbar--scrolled .navbar__pill,\n.navbar--light.navbar--scrolled .navbar__pill {\n background-color: rgba(255, 255, 255, 0.96);\n backdrop-filter: blur(16px);\n -webkit-backdrop-filter: blur(16px);\n}\n\n.navbar--dark.navbar--scrolled .navbar__nav-item,\n.navbar--light.navbar--scrolled .navbar__nav-item {\n color: var(--color-slate-1200);\n}\n\n.navbar--dark.navbar--scrolled .navbar__nav-item:hover,\n.navbar--light.navbar--scrolled .navbar__nav-item:hover {\n background-color: var(--color-opacity-slate-8);\n}\n\n/* Globe icon: reset to dark since pill is now white */\n.navbar--dark.navbar--scrolled .navbar__pill .navbar__lang-globe {\n filter: none;\n}\n\n/* Language label: match nav item dark text */\n.navbar--dark.navbar--scrolled .navbar__pill .navbar__nav-item {\n color: var(--color-slate-1200);\n}\n\n/* ── BAR — logo | pill | actions ─────────────────────────────── */\n\n.navbar__bar {\n position: relative;\n z-index: 201;\n display: grid;\n grid-template-columns: 1fr auto 1fr;\n align-items: center;\n height: var(--navbar-height);\n padding: 0 var(--spacing-24);\n box-sizing: border-box;\n}\n\n/* ── LOGO ────────────────────────────────────────────────────── */\n\n.navbar__logo {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n text-decoration: none;\n padding-bottom: var(--spacing-4);\n /* optical baseline alignment */\n}\n\n.navbar__logo img {\n height: 2rem;\n /* 32px */\n width: auto;\n display: block;\n}\n\n/* ── NAV CENTER — full-width layer that centres the pill and\n anchors the dropdown relative to the full bar width ────────── */\n\n.navbar__nav-center {\n position: absolute;\n left: var(--spacing-24);\n right: var(--spacing-24);\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n}\n\n.navbar__nav-center>* {\n pointer-events: auto;\n}\n\n/* ── PILL ────────────────────────────────────────────────────── */\n\n.navbar__pill {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n padding: var(--spacing-8);\n border-radius: var(--navbar-pill-radius);\n backdrop-filter: blur(8px);\n -webkit-backdrop-filter: blur(8px);\n box-shadow: var(--shadow-sm);\n transition: background-color 400ms cubic-bezier(.65, 0, .35, 1),\n backdrop-filter 400ms cubic-bezier(.65, 0, .35, 1),\n box-shadow 400ms cubic-bezier(.65, 0, .35, 1);\n}\n\n.navbar--dark .navbar__pill {\n background-color: var(--color-opacity-white-24);\n}\n\n.navbar--light .navbar__pill {\n background-color: var(--color-opacity-white-88);\n}\n\n/* ── NAV GROUP — items inside the pill ───────────────────────── */\n\n.navbar__nav-group {\n display: flex;\n align-items: center;\n padding: 0;\n}\n\n/* ── NAV ITEM — each pill button ─────────────────────────────── */\n\n.navbar__nav-item {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n padding: var(--spacing-8) var(--spacing-12);\n height: 2.5rem;\n /* 40px */\n border: none;\n border-radius: var(--radius-full);\n background: transparent;\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 white-space: nowrap;\n text-decoration: none;\n cursor: pointer;\n transition: background-color 140ms ease;\n box-sizing: border-box;\n}\n\n.navbar--dark .navbar__nav-item {\n color: var(--color-slate-50);\n}\n\n.navbar--light .navbar__nav-item {\n color: var(--color-slate-1200);\n}\n\n.navbar--dark .navbar__nav-item:hover,\n.navbar--dark .navbar__nav-item--open {\n background-color: var(--color-opacity-white-8);\n}\n\n.navbar--light .navbar__nav-item:hover,\n.navbar--light .navbar__nav-item--open {\n background-color: var(--color-opacity-slate-8);\n}\n\n/* ── NAV ITEM CHEVRON ────────────────────────────────────────── */\n\n.navbar__nav-item__chevron {\n flex-shrink: 0;\n transition: transform 200ms ease;\n}\n\n.navbar__nav-item--open .navbar__nav-item__chevron {\n transform: rotate(180deg);\n}\n\n/* ── LANGUAGE BUTTON ─────────────────────────────────────────── */\n\n/* Shares all styles with .navbar__nav-item — only globe icon filter needed here */\n.navbar--dark .navbar__pill .navbar__lang-globe {\n filter: brightness(0) invert(1);\n}\n\n/* ── LANGUAGE DROPDOWN WRAPPER ───────────────────────────────── */\n\n.navbar__lang-wrapper {\n position: relative;\n}\n\n/* ── LANGUAGE DROPDOWN (desktop) ─────────────────────────────── */\n\n.navbar__lang-dropdown {\n position: absolute;\n top: calc(100% + var(--spacing-8));\n left: calc(50% - 352px);\n width: 704px;\n background-color: var(--color-slate-50);\n border: 1px solid var(--color-slate-100);\n border-radius: var(--navbar-dropdown-radius);\n box-shadow:\n 0px 8px 16px 2px rgba(0, 0, 0, 0.04),\n 0px -14px 16px 2px rgba(0, 0, 0, 0.02);\n padding: var(--spacing-24) var(--spacing-32);\n z-index: var(--navbar-z-dropdown);\n box-sizing: border-box;\n overflow: hidden;\n}\n\n.navbar__lang-dropdown-grid {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n grid-auto-flow: column;\n grid-template-rows: repeat(var(--lang-rows, 7), auto);\n gap: 0;\n}\n\n.navbar__lang-dropdown-item {\n display: block;\n width: 100%;\n padding: var(--spacing-8) 0;\n border: none;\n background: transparent;\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-1200);\n text-align: left;\n cursor: pointer;\n transition: color 120ms ease;\n box-sizing: border-box;\n white-space: nowrap;\n}\n\n.navbar__lang-dropdown-item:hover {\n color: #ff444f;\n}\n\n.navbar__lang-dropdown-item--active {\n color: #ff444f;\n font-weight: var(--font-weight-semi-bold);\n}\n\n/* ── MOBILE DRAWER LANGUAGE PANEL (full-screen slide-in) ─────── */\n\n.navbar__drawer-lang-panel {\n position: absolute;\n inset: 0;\n background-color: var(--color-slate-50);\n display: flex;\n flex-direction: column;\n padding: 0 var(--spacing-24);\n overflow-y: auto;\n z-index: 1;\n}\n\n.navbar__drawer-lang-back {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n width: 2.5rem;\n height: 2.5rem;\n border: none;\n background: transparent;\n color: var(--color-slate-1200);\n cursor: pointer;\n padding: 0;\n margin: var(--spacing-8) 0;\n flex-shrink: 0;\n}\n\n.navbar__drawer-lang-grid {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 0;\n padding: var(--spacing-8) 0 var(--spacing-16);\n}\n\n.navbar__drawer-lang-item {\n display: block;\n width: 100%;\n padding: var(--spacing-12) 0;\n border: 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-md);\n color: var(--color-slate-1200);\n text-align: left;\n cursor: pointer;\n transition: color 120ms ease;\n}\n\n.navbar__drawer-lang-item:hover {\n color: #ff444f;\n}\n\n.navbar__drawer-lang-item--active {\n color: #ff444f;\n font-weight: var(--font-weight-semi-bold);\n}\n\n/* ── ACTIONS — right-side CTA buttons ───────────────────────── */\n\n.navbar__actions {\n grid-column: 3;\n grid-row: 1;\n justify-self: end;\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n}\n\n/* ── PILL LOGO (inside pill) ─────────────────────────────────── */\n\n.navbar__pill-logo {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n text-decoration: none;\n overflow: hidden;\n max-width: 0;\n opacity: 0;\n transition: max-width 400ms cubic-bezier(.65, 0, .35, 1), opacity 300ms cubic-bezier(.65, 0, .35, 1);\n}\n\n.navbar__pill-logo img {\n padding-left: var(--spacing-8);\n padding-bottom: var(--spacing-4);\n}\n\n.navbar__pill-logo img {\n height: 2rem;\n width: auto;\n display: block;\n flex-shrink: 0;\n}\n\n/* ── PILL ACTIONS (inside pill) ──────────────────────────────── */\n\n.navbar__pill-actions {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n flex-shrink: 0;\n overflow: hidden;\n white-space: nowrap;\n max-width: 0;\n opacity: 0;\n transition: max-width 400ms cubic-bezier(.65, 0, .35, 1), opacity 300ms cubic-bezier(.65, 0, .35, 1);\n}\n\n/* ── MOBILE ACTIONS — login + hamburger ─────────────────────── */\n\n.navbar__mobile-actions {\n grid-column: 3;\n grid-row: 1;\n justify-self: end;\n display: none;\n /* shown only below 992px */\n align-items: center;\n gap: var(--spacing-8);\n}\n\n.navbar__mobile-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n border: none;\n background: transparent;\n cursor: pointer;\n padding: 0;\n}\n\n.navbar--dark .navbar__mobile-trigger {\n color: var(--color-slate-50);\n}\n\n.navbar--light .navbar__mobile-trigger {\n color: var(--color-slate-1200);\n}\n\n/* ── DESKTOP DROPDOWN ────────────────────────────────────────── */\n\n.navbar__dropdown {\n position: absolute;\n top: calc(100% + var(--spacing-8));\n left: calc(50% - var(--navbar-dropdown-w) / 2);\n width: var(--navbar-dropdown-w);\n background-color: var(--color-slate-50);\n border: 1px solid var(--color-slate-100);\n border-radius: var(--navbar-dropdown-radius);\n box-shadow:\n 0px 8px 16px 2px rgba(0, 0, 0, 0.04),\n 0px -14px 16px 2px rgba(0, 0, 0, 0.02);\n display: flex;\n overflow: hidden;\n z-index: var(--navbar-z-dropdown);\n}\n\n.navbar__dropdown-inner {\n display: flex;\n flex: 1;\n min-width: 0;\n min-height: 22.8rem;\n overflow: hidden;\n}\n\n.navbar__dropdown-left {\n display: grid;\n grid-template-columns: repeat(2, 12.375rem);\n /* 2 × 198px columns */\n gap: var(--spacing-16) 1.25rem;\n /* 16px row gap, 20px col gap */\n padding: var(--spacing-24) var(--spacing-32);\n flex-shrink: 0;\n align-content: start;\n}\n\n.navbar__dropdown-right {\n flex: 1 0 0;\n /* fills remaining space */\n min-width: 0;\n padding: var(--spacing-8);\n}\n\n/* ── DROPDOWN COLUMN ─────────────────────────────────────────── */\n\n.navbar__dropdown-col {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n flex-shrink: 0;\n width: 12.375rem;\n /* 198px — Figma */\n align-self: start;\n /* don't stretch to column height — hug content */\n}\n\n.navbar__dropdown-col-list {\n display: flex;\n flex-direction: column;\n gap: 0;\n}\n\n.navbar__dropdown-col-title {\n display: block;\n padding: var(--spacing-8) 0;\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-opacity-slate-48);\n margin: 0;\n}\n\n/* ── DROPDOWN LINK ───────────────────────────────────────────── */\n\n.navbar__dropdown-link {\n display: flex;\n align-items: center;\n gap: var(--spacing-4);\n height: 2rem;\n padding: var(--spacing-4) 0;\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-1200);\n text-decoration: none;\n white-space: nowrap;\n transition: color 120ms ease;\n}\n\n.navbar__dropdown-link:hover {\n color: var(--link-coral-color);\n}\n\n.navbar__dropdown-link svg {\n flex-shrink: 0;\n opacity: 0;\n transition: opacity 120ms ease, transform 120ms ease;\n transform: translateX(-4px);\n}\n\n.navbar__dropdown-link:hover svg {\n opacity: 1;\n transform: translateX(0);\n}\n\n/* ── DROPDOWN FEATURE CARD ───────────────────────────────────── */\n\n.navbar__dropdown-feature {\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n gap: var(--spacing-16);\n width: 100%;\n height: 100%;\n border-radius: var(--radius-2xl);\n background-color: var(--color-slate-700);\n background-size: cover;\n background-position: center;\n padding: var(--spacing-24);\n color: var(--color-slate-50);\n overflow: hidden;\n box-sizing: border-box;\n}\n\n.navbar__dropdown-feature-overlay {\n position: absolute;\n inset: 0;\n background: linear-gradient(to bottom, rgba(24, 28, 37, 0) 0%, rgba(24, 28, 37, 0.92) 100%);\n border-radius: var(--radius-2xl);\n pointer-events: none;\n}\n\n.navbar__dropdown-feature-img {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: var(--radius-2xl);\n pointer-events: none;\n}\n\n.navbar__dropdown-feature-content {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n.navbar__dropdown-feature-title {\n margin: 0;\n font-size: var(--font-size-xl);\n /* 28px at desktop */\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--line-height-xl);\n /* 36px at desktop */\n color: var(--color-slate-50);\n}\n\n.navbar__dropdown-feature-desc {\n margin: 0;\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-regular);\n line-height: var(--line-height-md);\n color: var(--color-slate-50);\n}\n\n.navbar__dropdown-feature-cta {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-semi-bold);\n line-height: 1;\n color: var(--color-slate-50);\n text-decoration: none;\n cursor: pointer;\n transition: gap 120ms ease;\n}\n\n.navbar__dropdown-feature-cta:hover {\n gap: var(--spacing-12);\n}\n\n/* ── MOBILE DRAWER ───────────────────────────────────────────── */\n\n/* Clipping wrapper: prevents the drawer from showing above the bar\n during open/close animation */\n.navbar__drawer-clip {\n position: fixed;\n top: var(--navbar-height);\n left: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n z-index: var(--navbar-z-drawer);\n pointer-events: none;\n}\n\n.navbar__drawer {\n position: absolute;\n inset: 0;\n background-color: var(--color-slate-50);\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n font-family: var(--font-family-base);\n box-sizing: border-box;\n pointer-events: all;\n}\n\n/* ── DRAWER HEADER ───────────────────────────────────────────── */\n\n.navbar__drawer-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 4rem;\n padding: 0 var(--spacing-16);\n flex-shrink: 0;\n border-bottom: 1px solid var(--color-slate-100);\n}\n\n.navbar__drawer-logo img {\n height: 2rem;\n width: auto;\n display: block;\n}\n\n.navbar__drawer-close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n border: none;\n background: transparent;\n color: var(--color-slate-1200);\n cursor: pointer;\n padding: 0;\n}\n\n/* ── DRAWER NAV LIST ─────────────────────────────────────────── */\n\n.navbar__drawer-nav {\n display: flex;\n flex-direction: column;\n padding: 0 var(--spacing-24);\n flex: 1;\n}\n\n/* ── DRAWER ACCORDION ITEM ───────────────────────────────────── */\n\n.navbar__drawer-item {\n display: flex;\n flex-direction: column;\n}\n\n.navbar__drawer-trigger {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n height: 3.5rem;\n /* 56px */\n padding: 0;\n border: none;\n border-radius: 0;\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-md);\n color: var(--color-slate-1200);\n text-align: left;\n cursor: pointer;\n}\n\n.navbar__drawer-trigger--open {\n background: transparent;\n}\n\n.navbar__drawer-trigger__chevron {\n flex-shrink: 0;\n color: var(--color-slate-1200);\n transition: transform 200ms ease;\n}\n\n.navbar__drawer-trigger--open .navbar__drawer-trigger__chevron {\n transform: rotate(180deg);\n}\n\n/* ── DRAWER ACCORDION PANEL ──────────────────────────────────── */\n\n.navbar__drawer-panel {\n overflow: hidden;\n}\n\n.navbar__drawer-panel-inner {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n padding: var(--spacing-8) 0 var(--spacing-16);\n background-color: var(--color-slate-50);\n}\n\n.navbar__drawer-panel-cols {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: var(--spacing-16);\n}\n\n.navbar__drawer-panel-col {\n display: flex;\n flex-direction: column;\n}\n\n.navbar__drawer-col-section {\n display: flex;\n flex-direction: column;\n}\n\n.navbar__drawer-col-title {\n display: block;\n padding: var(--spacing-8) 0;\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--line-height-md);\n color: var(--color-opacity-slate-48);\n margin: 0;\n}\n\n.navbar__drawer-col-links {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-4);\n}\n\n.navbar__drawer-link {\n display: block;\n padding: var(--spacing-4) 0;\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-1200);\n text-decoration: none;\n}\n\n/* ── DRAWER FEATURE CARD (mobile) ────────────────────────────── */\n\n.navbar__drawer-feature {\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n gap: var(--spacing-16);\n border-radius: var(--radius-2xl);\n background-color: var(--color-slate-700);\n background-size: cover;\n background-position: center;\n padding: var(--spacing-24);\n color: var(--color-slate-50);\n overflow: hidden;\n min-height: 14.5rem;\n /* 232px — matches Figma mobile feature slot */\n box-sizing: border-box;\n}\n\n.navbar__drawer-feature-overlay {\n position: absolute;\n inset: 0;\n background: linear-gradient(to bottom, rgba(24, 28, 37, 0) 0%, rgba(24, 28, 37, 0.92) 100%);\n pointer-events: none;\n border-radius: var(--radius-2xl);\n}\n\n.navbar__drawer-feature-img {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n pointer-events: none;\n border-radius: var(--radius-2xl);\n}\n\n.navbar__drawer-feature-content {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n.navbar__drawer-feature-title {\n margin: 0;\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}\n\n.navbar__drawer-feature-desc {\n margin: 0;\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.navbar__drawer-feature-cta {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-semi-bold);\n line-height: 1;\n color: var(--color-slate-50);\n text-decoration: none;\n cursor: pointer;\n transition: gap 120ms ease;\n}\n\n.navbar__drawer-feature-cta:hover {\n gap: var(--spacing-12);\n}\n\n/* ── DRAWER SINGLE LINK (external, no dropdown) ──────────────── */\n\n.navbar__drawer-single {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n height: 3.5rem;\n padding: 0;\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-md);\n color: var(--color-slate-1200);\n text-decoration: none;\n}\n\n/* ── DRAWER LANGUAGE BUTTON ──────────────────────────────────── */\n\n.navbar__drawer-lang {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n height: 3.5rem;\n padding: 0;\n border: 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-md);\n color: var(--color-slate-1200);\n cursor: pointer;\n text-align: left;\n}\n\n/* ── DRAWER FOOTER BUTTONS ───────────────────────────────────── */\n\n.navbar__drawer-footer {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n padding: var(--spacing-24);\n flex-shrink: 0;\n}\n\n/* ── RESPONSIVE ─────────────────────────────────────────────── */\n\n/* Desktop — hide outer logo and actions only when scrolled (inner pill versions take over) */\n@media (min-width: 992px) {\n\n .navbar__logo,\n .navbar__actions {\n transition: opacity 400ms cubic-bezier(.65, 0, .35, 1), transform 400ms cubic-bezier(.65, 0, .35, 1);\n }\n\n .navbar--scrolled .navbar__logo,\n .navbar--scrolled .navbar__actions {\n opacity: 0;\n pointer-events: none;\n transform: translateY(-12px);\n }\n\n /* Fade in logo */\n .navbar--scrolled .navbar__pill-logo {\n max-width: 200px;\n opacity: 1;\n }\n\n /* Fade in actions */\n .navbar--scrolled .navbar__pill-actions {\n max-width: 400px;\n opacity: 1;\n }\n}\n\n/* Desktop only */\n@media (min-width: 992px) {\n .navbar__mobile-actions {\n display: none;\n }\n\n .navbar__drawer-clip,\n .navbar__drawer {\n display: none !important;\n }\n}\n\n/* Hide login button before it overlaps with the pill */\n@media (max-width: 1200px) {\n .navbar__actions-login {\n display: none;\n }\n}\n\n/* Mobile / tablet */\n@media (max-width: 991px) {\n .navbar {\n padding-top: 0;\n padding-bottom: 0;\n transition: background-color 400ms cubic-bezier(.65, 0, .35, 1),\n box-shadow 400ms cubic-bezier(.65, 0, .35, 1);\n }\n\n .navbar--scrolled {\n background-color: rgba(255, 255, 255, 0.96);\n backdrop-filter: blur(16px);\n -webkit-backdrop-filter: blur(16px);\n box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.08);\n }\n\n .navbar--scrolled .navbar__mobile-trigger {\n color: var(--color-slate-1200);\n }\n\n .navbar--menu-open,\n .navbar--menu-open .navbar__bar {\n background-color: var(--color-slate-50);\n }\n\n .navbar--menu-open .navbar__mobile-trigger {\n color: var(--color-slate-1200);\n }\n\n .navbar__nav-center,\n .navbar__actions {\n display: none;\n }\n\n .navbar__mobile-actions {\n display: flex;\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:\n Default: --typography-h2-* (H2 scale).\n `.dnt--headline-h1`: --typography-h1-* for home-style heroes (same token set as other H1s).\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-700) [#ff444f]\n --dnt-btn-bg-hover var(--color-coral-800) [#e12e3a]\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 — mobile / tablet text cap]\n --dnt-content-py var(--spacing-56) [3.5rem = 56px mobile]\n --dnt-content-px var(--spacing-16) [1rem = 16px mobile]\n Desktop overrides at 992px:\n --dnt-content-max-width calc(80rem - 2 * var(--spacing-24)) [1232px @ 16px — 1280 inner − gutters]\n --dnt-content-py var(--spacing-112) [7rem = 112px]\n --dnt-content-px var(--spacing-24) [1.5rem = 24px]\n\n Gap:\n --dnt-gap var(--spacing-16) [1rem]\n\n Description:\n Default: --dnt-desc-* → `--typography-body-md-*`.\n `.dnt--desc-body-lg`: `--typography-body-lg-*`.\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────────── */\n\n:root {\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-700);\n --dnt-btn-bg-hover: var(--color-coral-800);\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-text-max-width: 37.5rem;\n /* 600px — left-column cap from Figma (not a content-width token — component-specific) */\n --dnt-content-py: var(--spacing-56);\n /* 3.5rem = 56px */\n --dnt-content-px: var(--spacing-16);\n /* 1rem = 16px */\n\n /* Description */\n --dnt-desc-size: var(--typography-body-md-font-size);\n --dnt-desc-lh: var(--typography-body-md-line-height);\n --dnt-desc-weight: var(--typography-body-md-font-weight);\n\n /* Gap between headline and button */\n --dnt-gap: var(--spacing-16);\n}\n\n/* Desktop — match standard section inner width (80rem max − spacing-24 gutters) */\n@media (min-width: 992px) {\n :root {\n --dnt-content-py: var(--spacing-112);\n /* 7rem = 112px */\n --dnt-content-px: var(--spacing-24);\n /* 1.5rem = 24px */\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/* Webflow `.trade-day-night_content { height: 200vh }` scroll driver. */\n.dnt--webflow-v2 {\n --dnt-wrapper-height: 200vh;\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: bottom;\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/* ── Webflow V2: `.trade-day-night_background-wrapper` + day + night layers ─ */\n\n.dnt__v2-background-wrapper {\n z-index: -1;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n pointer-events: none;\n}\n\n/*\n * Mirrors `webflow-components-cf572b.webflow.css`:\n * `.trade-day-night_background-day` then `.trade-day-night_background-night`\n * (two backgrounds — `trade_day` / `trade_night` URLs in React `backgroundImage`).\n */\n.dnt__v2-bg-day {\n z-index: 1;\n opacity: 1;\n width: 100%;\n box-sizing: border-box;\n position: relative;\n top: 0;\n left: 0;\n right: 0;\n background-repeat: no-repeat;\n background-size: cover;\n background-position: 100% 100%;\n overflow: hidden;\n}\n\n.dnt__v2-bg-night {\n z-index: 0;\n width: 100%;\n height: 100vh;\n margin-top: -100vh;\n position: sticky;\n top: 0;\n left: 0;\n right: 0;\n box-sizing: border-box;\n background-repeat: no-repeat;\n background-size: cover;\n background-position: 100% 100%;\n}\n\n.dnt--webflow-v2 .dnt__v2-bg-day,\n.dnt--webflow-v2 .dnt__v2-bg-night {\n background-attachment: fixed;\n}\n\n/* Sticky copy sits above the z-index:-1 background wrapper (Webflow `.trade-day-night_content-wrapper`). */\n.dnt__sticky--webflow-v2 {\n z-index: 0;\n}\n\n/* Webflow `.trade-day-night_content-wrapper`: column + viewport height */\n.dnt--webflow-v2 .dnt__sticky--webflow-v2 {\n height: 100dvh;\n min-height: 100vh;\n}\n\n/* ── Webflow V2 mobile / small breakpoints (`webflow-components-cf572b.webflow.css`) ─ */\n\n@media screen and (max-width: 991px) {\n .dnt--webflow-v2 .dnt__v2-bg-day {\n position: sticky;\n top: 0;\n background-position: 30% 0;\n background-repeat: repeat;\n background-size: auto 100vh;\n }\n\n .dnt--webflow-v2 .dnt__v2-bg-night {\n background-position: 30% 0;\n background-repeat: repeat;\n background-size: auto 100vh;\n }\n\n .dnt--webflow-v2 .dnt__sticky--webflow-v2 .dnt__content {\n flex-flow: column nowrap;\n justify-content: flex-start;\n align-items: flex-start;\n padding: var(--spacing-112) var(--dnt-content-px) var(--dnt-content-py) var(--dnt-content-px);\n }\n\n .dnt--webflow-v2 .dnt__text-wrap {\n max-width: 100%;\n width: 100%;\n }\n\n .dnt--webflow-v2 .dnt__headline--inline-day-night {\n width: 60%;\n }\n}\n\n@media screen and (max-width: 767px) {\n .dnt--webflow-v2 .dnt__headline--inline-day-night {\n width: 80%;\n }\n}\n\n@media screen and (max-width: 479px) {\n .dnt--webflow-v2 .dnt__v2-bg-day {\n background-position: 40% 0;\n }\n\n .dnt--webflow-v2 .dnt__v2-bg-night {\n background-position: 40% 0;\n }\n\n .dnt--webflow-v2 .dnt__sticky--webflow-v2 .dnt__content {\n padding: var(--spacing-80) var(--dnt-content-px) var(--dnt-content-py) var(--dnt-content-px);\n }\n\n .dnt--layout-v2 .dnt__inner {\n padding-left: var(--spacing-16);\n padding-right: var(--spacing-16);\n }\n\n /* `.trade-day-night_title.new-heading-style-h1` */\n .dnt--webflow-v2.dnt--headline-h1 .dnt__headline {\n font-size: 3.5rem;\n line-height: 4rem;\n }\n\n /* `.trade-day-night_description.margin-small.margin-top` → margin-top: 0 */\n .dnt--webflow-v2 .dnt__description {\n margin-top: 0;\n }\n}\n\n/* ── CONTENT ──────────────────────────────────────────────────── */\n\n.dnt__content {\n position: relative;\n z-index: 2;\n display: flex;\n align-items: flex-start;\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;\n }\n}\n\n/* ── INNER CONTAINER — 1280px centred ────────────────────────── */\n\n.dnt__inner {\n width: 100%;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n box-sizing: border-box;\n}\n\n/* Webflow DayNightTransitionV2 `.container` max-width (not a global token). */\n.dnt--layout-v2 .dnt__inner {\n max-width: 83rem;\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-text-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(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n /* color inherited from .dnt__text-wrap (Framer Motion inline style) */\n}\n\n/* “Trade all ” + day / night (Webflow headline DOM pattern; margins mirror embed script). */\n.dnt__headline--inline-day-night {\n display: block;\n}\n\n.dnt__headline-prefix {\n white-space: pre;\n}\n\n.dnt__headline-pair {\n display: inline-block;\n position: relative;\n vertical-align: bottom;\n}\n\n.dnt__headline-wday,\n.dnt__headline-wnight {\n display: inline-block;\n}\n\n.dnt__headline-wnight {\n vertical-align: bottom;\n}\n\n/* Home hero scale — uses global H1 typography tokens (no new font tokens). */\n.dnt--headline-h1 .dnt__headline {\n font-family: var(--typography-h1-font-family);\n font-size: var(--typography-h1-font-size);\n font-weight: var(--typography-h1-font-weight);\n line-height: var(--typography-h1-line-height);\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/* Marketing body — uses global body-lg typography tokens. */\n.dnt--desc-body-lg .dnt__description {\n font-family: var(--typography-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--typography-body-lg-font-weight);\n line-height: var(--typography-body-lg-line-height);\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 width: auto;\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/* Mobile: button fills the full width of the text column */\n@media screen and (max-width: 991px) {\n .dnt__btn {\n width: 100%;\n align-self: stretch;\n }\n}","/* ============================================================\n LOGO MARQUEE COMPONENT\n Token inheritance:\n Primitive (core) → Semantic (--lm-*) → Component styles\n\n Semantic tokens used:\n\n Section:\n --lm-bg var(--color-slate-1200) [#181c25]\n --lm-section-py var(--spacing-112) [7rem = 112px]\n --lm-section-px var(--spacing-24) [1.5rem = 24px]\n --lm-section-height 50rem [800px desktop]\n --lm-max-width 80rem [1280px]\n\n Content gap (media ↔ text):\n --lm-layout-gap 8rem [128px — Figma exact]\n\n Card:\n --lm-card-bg var(--color-slate-1000) [dark card bg behind logo images]\n --lm-card-radius var(--radius-xl) [1rem = 16px desktop]\n --lm-card-radius-mobile var(--radius-2xl) [1.5rem ≈ 24px mobile]\n --lm-card-px var(--spacing-16) [~15px desktop]\n --lm-card-py var(--spacing-24) [~20px desktop]\n --lm-card-px-mobile var(--spacing-12) [12px mobile]\n --lm-card-py-mobile var(--spacing-12) [12px mobile]\n --lm-card-img-h var(--spacing-112) [7rem = 112px — logo area]\n --lm-card-img-h-mobile 5.375rem [86px — no exact token]\n Logo images: max 90% of card W/H, object-fit contain, centred in .lm__card-img-wrap\n\n Column gap (between cards vertically):\n --lm-card-gap var(--spacing-16) [1rem = 16px]\n\n Columns gap (between col1 and col2 horizontally):\n --lm-col-gap var(--spacing-16) [1rem = 16px]\n\n Carousel:\n --lm-carousel-height 39.375rem [630px desktop]\n --lm-carousel-height-mob 20.5rem [328px mobile]\n --lm-fade-height var(--spacing-64) [4rem = 64px]\n\n Typography — headline:\n --lm-headline-size var(--typography-h2-font-size)\n mobile 2.5rem → tablet 3rem → desktop 3.5rem (56px)\n --lm-headline-lh var(--typography-h2-line-height)\n mobile 3rem → tablet 3.5rem → desktop 4rem (64px)\n --lm-headline-color var(--color-slate-50) [white]\n --lm-headline-weight var(--typography-h2-font-weight) [800]\n\n Typography — body:\n --lm-body-size var(--typography-body-md-font-size) [1rem = 16px]\n --lm-body-lh var(--typography-body-md-line-height) [1.5rem = 24px]\n --lm-body-color var(--color-slate-50)\n --lm-body-weight var(--typography-body-md-font-weight)\n\n Typography — disclaimer:\n --lm-disc-size var(--typography-body-sm-font-size) [0.875rem = 14px]\n --lm-disc-lh var(--typography-body-sm-line-height) [1.5rem]\n --lm-disc-color var(--color-slate-400) [#bfc6cc ≈ #b1b4bc]\n --lm-disc-weight var(--typography-body-sm-font-weight)\n\n CTA link:\n --lm-link-color var(--color-coral-700) [#ff444f]\n --lm-link-size var(--typography-link-md-font-size) [1rem]\n --lm-link-weight var(--typography-link-md-font-weight) [600]\n\n Text-area width (desktop):\n --lm-text-width 32.625rem [522px]\n\n Animation — scroll-driven opposing columns:\n --lm-col-travel 7.5rem [120px up/down]\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────────── */\n\n:root {\n /* Section */\n --lm-bg: var(--color-slate-1200);\n --lm-section-py: var(--spacing-112);\n --lm-section-px: var(--spacing-24);\n --lm-section-height: 50rem;\n --lm-max-width: var(--content-width-1280);\n --lm-layout-gap: var(--spacing-112);\n /* 7rem = 112px — closest to Figma 128px */\n\n /* Card */\n --lm-card-bg: var(--color-slate-1000);\n --lm-card-radius: var(--radius-xl);\n --lm-card-radius-mobile: var(--radius-2xl);\n --lm-card-px: var(--spacing-16);\n --lm-card-py: var(--spacing-24);\n --lm-card-px-mobile: var(--spacing-12);\n --lm-card-py-mobile: var(--spacing-12);\n --lm-card-img-h: var(--spacing-112);\n /* 7rem = 112px — closest to 128px */\n --lm-card-img-h-mobile: 5.375rem;\n\n /* Column */\n --lm-card-gap: var(--spacing-16);\n --lm-col-gap: var(--spacing-16);\n\n /* Carousel */\n --lm-carousel-height: 39.375rem;\n --lm-carousel-height-mob: 20.5rem;\n --lm-fade-height: var(--spacing-64);\n\n /* Headline */\n --lm-headline-size: var(--typography-h2-font-size);\n --lm-headline-lh: var(--typography-h2-line-height);\n --lm-headline-color: var(--color-slate-50);\n --lm-headline-weight: var(--typography-h2-font-weight);\n\n /* Body */\n --lm-body-size: var(--typography-body-md-font-size);\n --lm-body-lh: var(--typography-body-md-line-height);\n --lm-body-color: var(--color-slate-50);\n --lm-body-weight: var(--typography-body-md-font-weight);\n\n /* Disclaimer */\n --lm-disc-size: var(--typography-body-sm-font-size);\n --lm-disc-lh: var(--typography-body-sm-line-height);\n --lm-disc-color: var(--color-slate-400);\n --lm-disc-weight: var(--typography-body-sm-font-weight);\n\n /* CTA link */\n --lm-link-color: var(--color-coral-700);\n --lm-link-size: var(--typography-link-md-font-size);\n --lm-link-weight: var(--typography-link-md-font-weight);\n\n /* Text-area */\n --lm-text-width: 32.625rem;\n\n /* Mobile overrides */\n --lm-section-py-mobile: var(--spacing-56);\n --lm-section-px-mobile: var(--spacing-16);\n}\n\n/* ── SECTION ─────────────────────────────────────────────────── */\n\n.lm {\n position: relative;\n width: 100%;\n background-color: var(--lm-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.lm__inner {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n align-items: flex-start;\n max-width: var(--lm-max-width);\n margin: 0 auto;\n padding: var(--lm-section-py-mobile) var(--lm-section-px-mobile);\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .lm__inner {\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: var(--lm-layout-gap);\n padding: var(--lm-section-py) var(--lm-section-px);\n min-height: var(--lm-section-height);\n }\n}\n\n/* ── TEXT CONTENT ────────────────────────────────────────────── */\n\n.lm__content {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n align-items: flex-start;\n width: 100%;\n order: 1;\n /* text first on mobile */\n}\n\n@media (min-width: 992px) {\n .lm__content {\n flex-shrink: 0;\n width: var(--lm-text-width);\n order: 2;\n /* text second (right) on desktop */\n }\n}\n\n/* ── HEADLINE ────────────────────────────────────────────────── */\n\n.lm__headline {\n margin: 0;\n font-family: var(--font-family-base);\n font-size: var(--lm-headline-size);\n font-weight: var(--lm-headline-weight);\n line-height: var(--lm-headline-lh);\n color: var(--lm-headline-color);\n}\n\n/* ── BODY + DISCLAIMER wrapper ───────────────────────────────── */\n\n.lm__text-group {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n/* ── BODY ────────────────────────────────────────────────────── */\n\n.lm__body {\n margin: 0;\n font-family: var(--font-family-base);\n font-size: var(--lm-body-size);\n font-weight: var(--lm-body-weight);\n line-height: var(--lm-body-lh);\n color: var(--lm-body-color);\n}\n\n/* ── DISCLAIMER ──────────────────────────────────────────────── */\n\n.lm__disclaimer {\n margin: 0;\n font-family: var(--font-family-base);\n font-size: var(--lm-disc-size);\n font-weight: var(--lm-disc-weight);\n line-height: var(--lm-disc-lh);\n color: var(--lm-disc-color);\n}\n\n/* ── CTA LINK ────────────────────────────────────────────────── */\n\n.lm__link {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n font-family: var(--typography-link-md-font-family);\n font-size: var(--lm-link-size);\n font-weight: var(--lm-link-weight);\n line-height: var(--typography-link-md-line-height);\n color: var(--lm-link-color);\n text-decoration: none;\n cursor: pointer;\n white-space: nowrap;\n transition: color 0.2s ease;\n}\n\n.lm__link:hover {\n color: var(--color-coral-800);\n}\n\n.lm__link-icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n transition: transform 0.2s ease;\n}\n\n.lm__link:hover .lm__link-icon {\n transform: translateX(var(--spacing-4));\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.lm__media {\n position: relative;\n width: 100%;\n order: 2;\n /* media second on mobile */\n flex-shrink: 0;\n}\n\n@media (min-width: 992px) {\n .lm__media {\n flex: 1 0 0;\n min-width: 0;\n order: 1;\n /* 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.lm__carousel {\n position: relative;\n display: flex;\n align-items: flex-start;\n gap: var(--lm-col-gap);\n height: var(--lm-carousel-height-mob);\n overflow: hidden;\n}\n\n@media (min-width: 992px) {\n .lm__carousel {\n height: var(--lm-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(--lm-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.lm__fade {\n position: absolute;\n left: 0;\n right: 0;\n height: var(--lm-fade-height);\n pointer-events: none;\n z-index: 2;\n}\n\n.lm__fade--top {\n top: 0;\n background: linear-gradient(to bottom,\n var(--lm-bg) 0%,\n rgba(0, 0, 0, 0) 100%);\n}\n\n.lm__fade--bottom {\n bottom: 0;\n background: linear-gradient(to top,\n var(--lm-bg) 0%,\n rgba(0, 0, 0, 0) 100%);\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.lm__col {\n flex: 1 0 0;\n align-self: flex-start;\n /* MUST stay flex-start — prevents stretching to carousel height */\n display: flex;\n flex-direction: column;\n gap: var(--lm-card-gap);\n min-width: 0;\n will-change: transform;\n /* promote to compositor layer for smooth GPU translation */\n}\n\n/* ── CARD ────────────────────────────────────────────────────── */\n\n.lm__card {\n flex-shrink: 0;\n background-color: var(--lm-card-bg);\n border-radius: var(--lm-card-radius-mobile);\n aspect-ratio: 4 / 3;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 100%;\n overflow: hidden;\n}\n\n@media (min-width: 992px) {\n .lm__card {\n border-radius: var(--lm-card-radius);\n }\n}\n\n/* ── CARD IMAGE ──────────────────────────────────────────────── */\n\n.lm__card-img-wrap {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n}\n\n.lm__card-img-wrap img {\n max-width: 90%;\n max-height: 90%;\n width: auto;\n height: auto;\n object-fit: contain;\n object-position: center;\n display: block;\n}","/* ============================================================\n DOWNLOAD BADGE PRIMITIVE\n Token inheritance:\n Primitive (core) → Semantic (--download-badge-*) → Component styles\n\n A clickable platform download badge — pill-shaped container\n (white + border for light, slate-1200 fill for dark) with the\n platform SVG artwork centred inside.\n\n Follows the same sizing conventions as the Button primitive:\n height → var(--spacing-48)\n radius → var(--radius-full)\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────── */\n\n:root {\n --download-badge-height: var(--spacing-48);\n --download-badge-radius: var(--radius-full);\n --download-badge-padding-x: var(--spacing-16);\n --download-badge-transition: opacity 100ms ease, box-shadow 100ms ease;\n --download-badge-focus-color: var(--color-blue-600);\n\n /* Light variant — slate-50 = #ffffff */\n --download-badge-light-bg: var(--color-slate-50);\n --download-badge-light-border: 1px solid var(--color-slate-1200);\n\n /* Dark variant — slate-800 sits one layer above slate-1200 on dark backgrounds */\n --download-badge-dark-bg: var(--color-slate-800);\n --download-badge-dark-border: 1px solid transparent;\n\n /* Inner artwork height */\n --download-badge-img-height: var(--spacing-32);\n}\n\n/* ── BADGE LINK (pill container) ──────────────────────────── */\n\n.download-badge {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--download-badge-height);\n padding: 0 var(--download-badge-padding-x);\n border-radius: var(--download-badge-radius);\n box-sizing: border-box;\n text-decoration: none;\n cursor: pointer;\n outline: none;\n flex-shrink: 0;\n transition: var(--download-badge-transition);\n}\n\n/* Light (default) — white pill with dark border */\n.download-badge--light {\n background: var(--download-badge-light-bg);\n border: var(--download-badge-light-border);\n}\n\n/* Dark — slate-1200 filled pill */\n.download-badge--dark {\n background: var(--download-badge-dark-bg);\n border: var(--download-badge-dark-border);\n}\n\n/* ── STATES ───────────────────────────────────────────────── */\n\n.download-badge:hover {\n opacity: 0.85;\n}\n\n.download-badge:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: calc(-1 * var(--spacing-2));\n border-radius: var(--download-badge-radius);\n border: var(--spacing-2) solid var(--download-badge-focus-color);\n pointer-events: none;\n}\n\n/* ── BADGE IMAGE (artwork only, no pill) ──────────────────── */\n\n.download-badge__img {\n height: var(--download-badge-img-height);\n width: auto;\n display: block;\n pointer-events: none;\n}","/* ============================================================\n STEPS TEMPLATE\n Token inheritance:\n Primitive (core) → Semantic (--steps-*) → Component styles\n\n Layout: two-column split — image (left or right) + numbered\n steps list. On mobile the image stacks above the content.\n\n Semantic tokens:\n --steps-bg var(--color-slate-50)\n --steps-title-color var(--color-slate-1200)\n --steps-number-color var(--color-coral-700)\n --steps-item-title-color var(--color-slate-1200)\n --steps-item-desc-color var(--color-slate-600)\n --steps-divider-color var(--color-slate-200)\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────── */\n\n:root {\n --steps-bg: var(--color-slate-50);\n --steps-title-color: var(--text-primary);\n --steps-number-color: var(--color-coral-700);\n --steps-item-title-color: var(--text-primary);\n --steps-item-desc-color: var(--color-slate-600);\n --steps-divider-color: var(--color-slate-200);\n}\n\n/* ── SECTION SHELL ────────────────────────────────────────── */\n\n.steps {\n width: 100%;\n background-color: var(--steps-bg);\n font-family: var(--font-family-base);\n box-sizing: border-box;\n}\n\n/* ── INNER CONTAINER ──────────────────────────────────────── */\n\n.steps__container {\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-40);\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .steps__container {\n flex-direction: row;\n align-items: center;\n gap: var(--spacing-96);\n padding: var(--spacing-112) var(--spacing-24);\n }\n\n .steps__container--image-right {\n flex-direction: row-reverse;\n }\n}\n\n/* ── IMAGE COLUMN ─────────────────────────────────────────── */\n\n.steps__image-wrapper {\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: var(--radius-2xl);\n overflow: hidden;\n flex-shrink: 0;\n background-color: transparent;\n}\n\n@media (min-width: 992px) {\n .steps__image-wrapper {\n flex: 1 0 0;\n width: auto;\n }\n}\n\n.steps__image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\n}\n\n/* ── CONTENT COLUMN ───────────────────────────────────────── */\n\n.steps__content {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .steps__content {\n flex: 1 0 0;\n width: auto;\n }\n}\n\n/* ── SECTION TITLE ────────────────────────────────────────── */\n\n.steps__title {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--steps-title-color);\n margin: 0;\n}\n\n/* ── STEPS LIST ───────────────────────────────────────────── */\n\n.steps__list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n/* ── STEP ITEM ────────────────────────────────────────────── */\n\n.steps__item {\n border-bottom: 1px solid var(--steps-divider-color);\n}\n\n.steps__item:last-child {\n border-bottom: none;\n}\n\n/* ── STEP ITEM INNER ──────────────────────────────────────── */\n\n.steps__item-inner {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n gap: var(--spacing-16);\n padding: var(--spacing-16) 0;\n}\n\n/* ── STEP NUMBER ──────────────────────────────────────────── */\n\n.steps__number {\n font-family: var(--font-family-base);\n font-size: var(--typography-h5-font-size);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--typography-h5-line-height);\n color: var(--steps-number-color);\n flex-shrink: 0;\n min-width: var(--spacing-16);\n padding-top: 2px;\n}\n\n/* ── STEP BODY ────────────────────────────────────────────── */\n\n.steps__item-body {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-4);\n}\n\n/* ── STEP ITEM TITLE ──────────────────────────────────────── */\n\n.steps__item-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(--steps-item-title-color);\n margin: 0;\n}\n\n/* ── STEP ITEM DESCRIPTION ────────────────────────────────── */\n\n.steps__item-description {\n font-family: var(--font-family-base);\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(--steps-item-desc-color);\n margin: 0;\n}","/* ============================================================\n DOWNLOAD BANNER TEMPLATE\n Token inheritance:\n Primitive (core) → Semantic (--db-*) → Component styles\n\n Layout:\n Mobile — vertical stack: heading → badge grid (2-col, full-width)\n Desktop — horizontal split: QR block (left) | badge grid (right)\n\n Style variants:\n light → slate-100 outer, white card\n light-2 → slate-50 outer, slate-75 card (default)\n dark → white outer, slate-1200 card\n\n Semantic tokens:\n --db-section-bg-light var(--color-slate-100)\n --db-section-bg-light-2 var(--background-surface) [slate-50 #FFFFFF]\n --db-section-bg-dark var(--color-slate-50)\n --db-card-bg-light var(--color-slate-50)\n --db-card-bg-light-2 var(--background-surface-secondary) [slate-75 #F6F7F8]\n --db-card-bg-dark var(--color-slate-1200)\n --db-title-color-light var(--color-slate-1200)\n --db-title-color-dark var(--color-slate-50)\n --db-subtitle-color-light var(--color-slate-1200)\n --db-subtitle-color-dark var(--color-slate-50)\n --db-disclaimer-color-light var(--color-slate-500)\n --db-disclaimer-color-dark var(--color-slate-500)\n --db-card-radius var(--radius-2xl)\n\n Badge pill styles are owned by the DownloadBadge primitive.\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────── */\n\n:root {\n --db-section-bg-light: var(--color-slate-100);\n --db-section-bg-light-2: var(--background-surface); /* slate-50 #FFFFFF */\n --db-section-bg-dark: var(--color-slate-50);\n\n --db-card-bg-light: var(--color-slate-50);\n --db-card-bg-light-2: var(--background-surface-secondary); /* slate-75 #F6F7F8 */\n --db-card-bg-dark: var(--color-slate-1200);\n\n --db-title-color-light: var(--text-primary);\n --db-title-color-dark: var(--color-slate-50);\n\n --db-subtitle-color-light: var(--text-primary);\n --db-subtitle-color-dark: var(--color-slate-50);\n\n --db-disclaimer-color-light: var(--color-slate-500);\n --db-disclaimer-color-dark: var(--color-slate-500);\n\n --db-card-radius: var(--radius-2xl);\n}\n\n/* ── SECTION SHELL ────────────────────────────────────────── */\n\n.db-section {\n width: 100%;\n box-sizing: border-box;\n}\n\n.db-section--light {\n background-color: var(--db-section-bg-light);\n}\n\n.db-section--light-2 {\n background-color: var(--db-section-bg-light-2);\n}\n\n.db-section--dark {\n background-color: var(--db-section-bg-dark);\n}\n\n/* ── INNER CONTAINER ──────────────────────────────────────── */\n\n.db-container {\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n}\n\n@media (min-width: 768px) {\n .db-container {\n padding: var(--spacing-56) var(--spacing-24);\n }\n}\n\n@media (min-width: 992px) {\n .db-container {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── CARD ─────────────────────────────────────────────────── */\n\n.db-card {\n border-radius: var(--db-card-radius);\n padding: var(--spacing-24);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-32);\n box-sizing: border-box;\n}\n\n.db-section--light .db-card {\n background-color: var(--db-card-bg-light);\n}\n\n.db-section--light-2 .db-card {\n background-color: var(--db-card-bg-light-2);\n}\n\n.db-section--dark .db-card {\n background-color: var(--db-card-bg-dark);\n}\n\n@media (min-width: 992px) {\n .db-card {\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: var(--spacing-80);\n padding: var(--spacing-48);\n }\n}\n\n/* ── QR BLOCK ─────────────────────────────────────────────── */\n\n.db-qr-block {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n@media (min-width: 992px) {\n .db-qr-block {\n flex-direction: row;\n align-items: center;\n gap: var(--spacing-32);\n flex-shrink: 0;\n }\n}\n\n/* ── QR IMAGE ─────────────────────────────────────────────── */\n\n.db-qr-image {\n width: 128px;\n height: 128px;\n object-fit: contain;\n object-position: center;\n display: none;\n /* hidden on mobile */\n flex-shrink: 0;\n}\n\n@media (min-width: 992px) {\n .db-qr-image {\n display: block;\n }\n}\n\n/* ── QR TEXT ──────────────────────────────────────────────── */\n\n.db-qr-text {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n}\n\n/* Desktop-only lines */\n.db-qr-text__title--desktop,\n.db-qr-text__subtitle--desktop {\n display: none;\n}\n\n/* Mobile-only heading */\n.db-qr-text__title--mobile {\n display: block;\n}\n\n@media (min-width: 992px) {\n\n .db-qr-text__title--desktop,\n .db-qr-text__subtitle--desktop {\n display: block;\n }\n\n .db-qr-text__title--mobile {\n display: none;\n }\n}\n\n.db-qr-text__title--desktop {\n font-family: var(--typography-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--typography-body-lg-font-weight);\n line-height: var(--typography-body-lg-line-height);\n}\n\n.db-qr-text__subtitle--desktop {\n /* Semantic tag: <h2> — visual style: h5 (was h3) */\n margin: 0;\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}\n\n.db-qr-text__title--mobile {\n font-family: var(--typography-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--typography-body-lg-font-weight);\n line-height: var(--typography-body-lg-line-height);\n}\n\n/* Text colours per style variant */\n.db-section--light .db-qr-text__title--desktop,\n.db-section--light .db-qr-text__title--mobile,\n.db-section--light-2 .db-qr-text__title--desktop,\n.db-section--light-2 .db-qr-text__title--mobile {\n color: var(--db-title-color-light);\n}\n\n.db-section--dark .db-qr-text__title--desktop,\n.db-section--dark .db-qr-text__title--mobile {\n color: var(--db-title-color-dark);\n}\n\n.db-section--light .db-qr-text__subtitle--desktop,\n.db-section--light-2 .db-qr-text__subtitle--desktop {\n color: var(--db-subtitle-color-light);\n}\n\n.db-section--dark .db-qr-text__subtitle--desktop {\n color: var(--db-subtitle-color-dark);\n}\n\n/* ── DISCLAIMER ───────────────────────────────────────────── */\n\n.db-disclaimer {\n display: block;\n font-family: var(--typography-body-sm-font-family);\n font-size: var(--typography-body-sm-font-size);\n font-weight: var(--typography-body-sm-font-weight);\n line-height: var(--typography-body-sm-line-height);\n margin-top: var(--spacing-4);\n}\n\n.db-section--light .db-disclaimer,\n.db-section--light-2 .db-disclaimer {\n color: var(--db-disclaimer-color-light);\n}\n\n.db-section--dark .db-disclaimer {\n color: var(--db-disclaimer-color-dark);\n}\n\n/* ── BADGE GRID ───────────────────────────────────────────── */\n\n.db-badges {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--spacing-8);\n}\n\n.db-badges .download-badge {\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .db-badges {\n flex: unset;\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n align-content: center;\n align-items: center;\n }\n\n .db-badges .download-badge {\n width: auto;\n }\n}","/* ── TextScroll ──────────────────────────────────────────── */\n\n.ts {\n font-family: var(--font-family-base);\n box-sizing: border-box;\n}\n\n/* ── Inner container ─────────────────────────────────────── */\n\n.ts__inner {\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n}\n\n@media (min-width: 768px) {\n .ts__inner {\n padding: var(--spacing-56) var(--spacing-24);\n }\n}\n\n@media (min-width: 1280px) {\n .ts__inner {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Text block ──────────────────────────────────────────── */\n\n.ts__text {\n margin: 0;\n font-family: var(--typography-h4-font-family);\n font-size: var(--typography-h4-font-size);\n font-weight: var(--typography-h4-font-weight);\n line-height: var(--typography-h4-line-height);\n color: var(--text-primary);\n}\n\n@media (min-width: 768px) {\n .ts__text {\n text-align: center;\n }\n}\n\n/* ── Individual word ─────────────────────────────────────── */\n\n.ts__word {\n display: inline;\n white-space: pre-wrap;\n /* GSAP tweens opacity 0.2 → 1 via inline style after first paint */\n will-change: opacity;\n}\n","/* ============================================================\n STICKY MARKET CARDS COMPONENT\n Token inheritance:\n Primitive (core) → Semantic (--smc-*) → Component styles\n\n STRUCTURE per card:\n .smc__card ← sticky wrapper (position:sticky)\n .smc__card-inner ← visual card (gets scale + filter)\n .smc__card-bg ← optional: full-bleed bg image\n img\n .smc__card-overlay ← semi-transparent theme colour\n .smc__card-content ← flex row: title | description\n .smc__card-title-wrap\n h3.smc__card-title\n .smc__card-desc-wrap\n p.smc__card-desc\n\n SCROLL MECHANIC:\n Each wrapper is position:sticky. The flex gap between wrappers\n creates scroll distance so cards don't all stack at once.\n JS measures overlap of the NEXT wrapper over the current one and\n applies scale/brightness to the INNER card only — the sticky\n position of the wrapper is never disturbed.\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────── */\n\n:root {\n /* Section background */\n --smc-bg: var(--color-slate-75);\n\n /* Font family */\n --smc-font-family: var(--font-family-base);\n\n /* Section header color */\n --smc-header-color: var(--text-primary);\n\n /* Card theme — light */\n --smc-card-light-bg: var(--color-slate-75);\n --smc-card-light-text: var(--color-slate-1200);\n\n /* Card theme — coral */\n --smc-card-coral-bg: var(--color-coral-700);\n --smc-card-coral-text: var(--color-slate-50);\n\n /* Card theme — dark */\n --smc-card-dark-bg: var(--color-slate-1200);\n --smc-card-dark-text: var(--color-slate-50);\n\n /* Typography — section header (H2) */\n --smc-header-size: var(--typography-h2-font-size);\n --smc-header-lh: var(--typography-h2-line-height);\n --smc-header-weight: var(--typography-h2-font-weight);\n\n /* Sticky scroll \"What we offer\" stack */\n --smc-sticky-top: var(--spacing-96);\n /* 96px base — clears typical nav */\n --smc-peek: var(--spacing-16);\n /* 16px per-card offset: card N sticks 16px lower than card N-1 */\n --smc-padding-v: var(--spacing-32);\n /* 32px vertical padding inside card */\n --smc-padding-h: var(--spacing-64);\n /* 64px horizontal padding inside card */\n --smc-min-height: 15.625rem;\n /* 250px — minimum card height matches 846×250 ratio */\n --smc-gap: var(--spacing-64);\n /* 64px gap between sticky wrappers = main scroll distance */\n --smc-content-gap: var(--spacing-24);\n /* 24px gap between title and description columns */\n /* RGB values for overlay colours (image + theme blend) */\n --smc-card-dark-rgb: 24, 28, 37;\n --smc-card-coral-rgb: 255, 68, 79;\n --smc-card-light-rgb: 246, 247, 248;\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.smc {\n width: 100%;\n background-color: var(--smc-bg);\n font-family: var(--smc-font-family);\n box-sizing: border-box;\n}\n\n/* ── INNER CONTAINER ──────────────────────────────────────── */\n\n.smc__inner {\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-48);\n box-sizing: border-box;\n}\n\n@media (min-width: 768px) {\n .smc__inner {\n padding: var(--spacing-56) var(--spacing-24);\n gap: var(--spacing-64);\n }\n}\n\n@media (min-width: 992px) {\n .smc__inner {\n padding: var(--spacing-112) var(--spacing-24);\n gap: var(--spacing-80);\n }\n}\n\n/* ── SECTION HEADER ───────────────────────────────────────── */\n\n.smc__header-wrap {\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 .smc__header-wrap {\n align-items: center;\n text-align: center;\n }\n}\n\n.smc__header {\n font-size: var(--smc-header-size);\n font-weight: var(--smc-header-weight);\n line-height: var(--smc-header-lh);\n color: var(--smc-header-color);\n margin: 0;\n}\n\n.smc__description {\n font-family: var(--typography-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--typography-body-lg-font-weight);\n line-height: var(--typography-body-lg-line-height);\n color: var(--color-slate-1200);\n margin: 0;\n max-width: 640px;\n}\n\n/* ── Track ────────────────────────────────────────────────── */\n\n.smc__track {\n display: flex;\n flex-direction: column;\n /* Gap between sticky wrappers: this IS the scroll distance */\n gap: var(--smc-gap);\n /* Extra room so the last card can fully scroll into view */\n padding-bottom: var(--spacing-96);\n /* Constrain cards to ~846px on desktop */\n width: 100%;\n max-width: var(--content-width-846);\n margin: 0 auto;\n}\n\n/* ── Sticky wrapper ───────────────────────────────────────── */\n/*\n * top is calculated using the inline --smc-card-index\n * z-index is set inline as i+1.\n * NO transform here — wrapper must stay fixed for sticky to work.\n */\n\n.smc__card {\n position: sticky;\n top: calc(var(--smc-sticky-top) + var(--smc-card-index) * var(--smc-peek));\n}\n\n/* ── Inner card — the visual element ─────────────────────── */\n\n.smc__card-inner {\n position: relative;\n border-radius: var(--spacing-32);\n padding: var(--smc-padding-v) var(--smc-padding-h);\n min-height: var(--smc-min-height);\n display: flex;\n align-items: center;\n overflow: hidden;\n box-sizing: border-box;\n\n /* JS-driven depth cues — identity transforms on first paint */\n transform-origin: top center;\n transition: transform 0.1s ease-out, filter 0.1s ease-out;\n will-change: transform, filter;\n}\n\n/* ── Inner card themes ────────────────────────────────────── */\n\n.smc__card-inner--light {\n background-color: var(--smc-card-light-bg);\n color: var(--smc-card-light-text);\n}\n\n.smc__card-inner--coral {\n background-color: var(--smc-card-coral-bg);\n color: var(--smc-card-coral-text);\n}\n\n.smc__card-inner--dark {\n background-color: var(--smc-card-dark-bg);\n color: var(--smc-card-dark-text);\n}\n\n/* ── Background image (optional) ─────────────────────────── */\n\n.smc__card-bg {\n position: absolute;\n inset: 0;\n z-index: 0;\n}\n\n.smc__card-bg img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n/* Semi-transparent overlay sits on top of the image */\n.smc__card-overlay {\n position: absolute;\n inset: 0;\n}\n\n.smc__card-overlay--dark {\n background-color: rgba(var(--smc-card-dark-rgb), 0.85);\n}\n\n.smc__card-overlay--coral {\n background-color: rgba(var(--smc-card-coral-rgb), 0.85);\n}\n\n.smc__card-overlay--light {\n background-color: rgba(var(--smc-card-light-rgb), 0.85);\n}\n\n/* ── Card content row ─────────────────────────────────────── */\n\n.smc__card-content {\n position: relative;\n z-index: 1;\n display: grid;\n grid-template-columns: 1fr 1.25fr;\n width: 100%;\n align-items: center;\n gap: var(--smc-content-gap);\n}\n\n.smc__card-title-wrap {\n flex: 1;\n}\n\n.smc__card-desc-wrap {\n flex: 1;\n}\n\n/* ── Card title ───────────────────────────────────────────── */\n\n.smc__card-title {\n margin: 0;\n font-family: var(--font-family-base);\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: inherit;\n}\n\n/* ── Card description ─────────────────────────────────────── */\n\n.smc__card-desc {\n margin: 0;\n font-family: var(--font-family-base);\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: inherit;\n opacity: 0.95;\n}\n\n/* ── Mobile ───────────────────────────────────────────────── */\n\n@media (max-width: 767px) {\n .smc__card-inner {\n padding: var(--spacing-24) var(--spacing-32);\n }\n\n .smc__card-content {\n grid-template-columns: 1fr;\n align-items: flex-start;\n gap: var(--spacing-24);\n }\n}\n","/* ============================================================\n TABLE COMPONENT\n Token inheritance:\n Primitive (core) → Semantic (--tbl-*) → Component styles\n\n Uses design-system primitives:\n SearchField — search input\n Pagination — page navigation\n\n STRUCTURE:\n .tbl ← root container\n .tbl__topbar ← search + showing summary\n .tbl__search-wrap ← SearchField wrapper\n .tbl__summary ← \"Showing X–Y of Z\"\n .tbl__scroll-wrapper ← horizontal scroll container\n .tbl__table ← native table\n thead\n .tbl__tr\n .tbl__th ← header cell\n .tbl__th-inner ← wrapper for tooltip positioning\n .tbl__hint ← hover tooltip\n .tbl__col-label ← header text (dashed if tooltip)\n .tbl__tbody\n .tbl__tr ← data row\n .tbl__td ← data cell\n .tbl__cell-inner ← icon + text\n .tbl__footer ← bottom bar\n .tbl__info-block ← info icon + text\n .tbl__pagination-wrap ← Pagination primitive wrapper\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────── */\n\n:root {\n --tbl-bg: var(--color-slate-50);\n --tbl-border: var(--color-slate-100);\n --tbl-header-bg: var(--color-slate-75);\n --tbl-row-hover-bg: var(--color-slate-75);\n --tbl-text: var(--text-primary);\n --tbl-text-muted: var(--text-secondary);\n --tbl-font-family: var(--font-family-base);\n\n /* Column widths */\n --tbl-col-main-width: 11rem; /* 176px — instrument + icon */\n --tbl-col-normal-width: 6rem; /* 96px — numeric columns */\n --tbl-col-big-width: 14rem; /* 224px — trading hours */\n\n /* Row */\n --tbl-row-height: var(--spacing-56);\n --tbl-cell-px: var(--spacing-16);\n\n /* Tooltip */\n --tbl-hint-bg: var(--color-slate-1200);\n --tbl-hint-border: var(--color-slate-1200);\n --tbl-hint-radius: var(--radius-md);\n --tbl-hint-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);\n --tbl-hint-width: 13rem;\n --tbl-hint-text: var(--color-slate-50);\n --tbl-hint-text-muted: var(--color-slate-300);\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.tbl-section {\n width: 100%;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-48);\n font-family: var(--tbl-font-family);\n box-sizing: border-box;\n}\n\n@media (min-width: 768px) {\n .tbl-section {\n padding: var(--spacing-56) var(--spacing-24);\n gap: var(--spacing-64);\n }\n}\n\n@media (min-width: 992px) {\n .tbl-section {\n padding: var(--spacing-112) var(--spacing-24);\n gap: var(--spacing-80);\n }\n}\n\n.tbl-section__header {\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n}\n\n.tbl-section__title {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--tbl-text);\n margin: 0;\n}\n\n.tbl {\n width: 100%;\n background-color: var(--tbl-bg);\n font-family: var(--tbl-font-family);\n font-size: var(--typography-body-xs-font-size);\n color: var(--tbl-text);\n box-sizing: border-box;\n border-radius: var(--radius-xl);\n border: 1px solid var(--tbl-border);\n overflow: hidden;\n}\n\n/* ── TOP BAR ──────────────────────────────────────────────── */\n\n.tbl__topbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--spacing-16);\n padding: var(--spacing-16) var(--spacing-24);\n border-bottom: 1px solid var(--tbl-border);\n background-color: var(--tbl-bg);\n flex-wrap: wrap;\n}\n\n.tbl__search-wrap {\n flex: 1;\n min-width: 160px;\n max-width: 320px;\n}\n\n/* Adjust SearchField primitive to fit table context */\n.tbl__search-wrap .sf-wrapper {\n height: var(--spacing-40);\n}\n\n.tbl__search-wrap .sf-input {\n font-size: var(--typography-body-sm-font-size);\n}\n\n.tbl__summary {\n font-size: var(--typography-body-xs-font-size);\n color: var(--tbl-text-muted);\n white-space: nowrap;\n flex-shrink: 0;\n}\n\n/* ── SCROLL WRAPPER ───────────────────────────────────────── */\n/*\n * overflow-x: auto enables horizontal scrolling.\n * overflow-y must be visible so tooltips can escape top/bottom.\n */\n\n.tbl__scroll-wrapper {\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n}\n\n/* ── NATIVE TABLE ─────────────────────────────────────────── */\n\n.tbl__table {\n width: 100%;\n min-width: max-content;\n border-collapse: separate;\n border-spacing: 0;\n text-align: left;\n}\n\n/* ── TABLE ROWS ───────────────────────────────────────────── */\n\n.tbl__tr {\n background-color: var(--tbl-bg);\n transition: background-color 0.1s;\n height: var(--tbl-row-height);\n}\n\n.tbl__tbody .tbl__tr:hover {\n background-color: var(--tbl-row-hover-bg);\n}\n\n/* ── TABLE CELLS (TH / TD) ────────────────────────────────── */\n\n.tbl__th,\n.tbl__td {\n padding: var(--spacing-12) var(--tbl-cell-px);\n box-sizing: border-box;\n vertical-align: middle;\n position: relative;\n width: var(--tbl-col-normal-width);\n min-width: var(--tbl-col-normal-width);\n border-bottom: 1px solid var(--tbl-border);\n}\n\n.tbl__tbody .tbl__tr:last-child .tbl__td {\n border-bottom: none;\n}\n\n.tbl__th--big,\n.tbl__td--big {\n width: var(--tbl-col-big-width);\n min-width: var(--tbl-col-big-width);\n}\n\n/* ── STICKY MAIN COLUMN ───────────────────────────────────── */\n/*\n * Native table cells support position: sticky perfectly.\n * We apply it to both TH and TD for the main column.\n */\n\n.tbl__th--main,\n.tbl__td--main {\n width: var(--tbl-col-main-width);\n min-width: var(--tbl-col-main-width);\n position: sticky;\n left: 0;\n z-index: 2;\n background-color: var(--tbl-bg);\n box-shadow: 4px 0 12px rgba(0, 0, 0, 0.03);\n}\n\n/* Keep sticky cell background in sync with row hover */\n.tbl__tbody .tbl__tr:hover .tbl__td--main {\n background-color: var(--tbl-row-hover-bg);\n}\n\n/* ── HEADER SPECIFICS ─────────────────────────────────────── */\n\n.tbl__th {\n background-color: var(--tbl-header-bg);\n font-weight: normal;\n vertical-align: top;\n padding-bottom: var(--spacing-12);\n padding-top: var(--spacing-12);\n position: sticky;\n top: 0;\n z-index: 4;\n}\n\n/* Header needs higher z-index so it stays above scrolling body cells AND scrolling headers */\n.tbl__th--main {\n background-color: var(--tbl-header-bg);\n z-index: 5;\n}\n\n.tbl__th-inner {\n position: relative;\n display: inline-flex;\n align-items: flex-start;\n}\n\n.tbl__col-label {\n font-size: var(--typography-body-xs-font-size);\n font-weight: var(--font-weight-semi-bold);\n color: var(--tbl-text);\n line-height: 1.4;\n}\n\n.tbl__col-label--dashed {\n border-bottom: 1px dashed var(--color-slate-400);\n cursor: help;\n}\n\n/* ── GLOBAL TOOLTIP ───────────────────────────────────────── */\n\n.tbl__global-hint {\n position: fixed;\n z-index: 9999;\n transform: translate(-50%, -100%);\n width: var(--tbl-hint-width);\n background-color: var(--tbl-hint-bg);\n border: 1px solid var(--tbl-hint-border);\n border-radius: var(--tbl-hint-radius);\n box-shadow: var(--tbl-hint-shadow);\n padding: var(--spacing-12);\n opacity: 0;\n visibility: hidden;\n pointer-events: none;\n transition: opacity 0.15s, visibility 0.15s;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-4);\n text-transform: none;\n letter-spacing: normal;\n white-space: normal;\n}\n\n.tbl__global-hint--visible {\n opacity: 1;\n visibility: visible;\n}\n\n.tbl__global-hint-desc {\n font-size: var(--typography-body-xs-font-size);\n color: var(--tbl-hint-text);\n line-height: 1.5;\n}\n\n.tbl__global-hint-arrow {\n position: absolute;\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n border: 6px solid transparent;\n border-top-color: var(--tbl-hint-bg);\n}\n\n/* ── CELL CONTENT ─────────────────────────────────────────── */\n\n.tbl__cell-inner {\n display: flex;\n align-items: center;\n gap: var(--spacing-12);\n min-width: 0;\n overflow: hidden;\n}\n\n.tbl__cell-icon {\n width: 1.5rem;\n height: 1.5rem;\n object-fit: contain;\n flex-shrink: 0;\n display: block;\n}\n\n.tbl__cell-text {\n font-size: var(--typography-body-xs-font-size);\n color: var(--tbl-text);\n line-height: 1.4;\n white-space: normal;\n word-break: break-word;\n}\n\n.tbl__cell-text--bold {\n font-weight: var(--font-weight-semi-bold);\n}\n\n\n/* ── EMPTY STATE ──────────────────────────────────────────── */\n\n.tbl__empty-cell {\n padding: var(--spacing-48) var(--spacing-24);\n text-align: center;\n font-size: var(--typography-body-md-font-size);\n color: var(--tbl-text-muted);\n}\n\n/* ── FOOTER (PAGINATION) ──────────────────────────────────── */\n\n.tbl__footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: var(--spacing-16) var(--spacing-24);\n border-top: 1px solid var(--tbl-border);\n background-color: var(--tbl-bg);\n}\n\n/* ── INFO BLOCK ───────────────────────────────────────────── */\n\n.tbl-section__info-box {\n margin-top: var(--spacing-40);\n display: flex;\n align-items: flex-start;\n justify-content: center;\n gap: var(--spacing-8);\n}\n\n.tbl-section__info-icon {\n color: var(--color-slate-400);\n flex-shrink: 0;\n margin-top: 0.125rem;\n width: 1rem;\n height: 1rem;\n}\n\n.tbl-section__info-text {\n font-size: var(--typography-body-xs-font-size);\n color: var(--tbl-text-muted);\n line-height: 1.5;\n margin: 0;\n text-align: left;\n}\n\n.tbl__pagination-wrap {\n display: flex;\n justify-content: flex-end;\n flex-shrink: 0;\n width: auto;\n}\n\n/* ── MOBILE ───────────────────────────────────────────────── */\n\n@media (max-width: 767px) {\n .tbl__topbar {\n flex-direction: column;\n align-items: center;\n padding: var(--spacing-16);\n gap: var(--spacing-16);\n }\n\n .tbl__search-wrap {\n max-width: 100%;\n width: 100%;\n }\n\n .tbl__summary {\n text-align: center;\n }\n\n .tbl__th--main,\n .tbl__td--main {\n width: calc(var(--tbl-col-main-width) * 0.7 + var(--spacing-16));\n min-width: calc(var(--tbl-col-main-width) * 0.7 + var(--spacing-16));\n }\n\n .tbl__footer {\n flex-direction: column;\n align-items: stretch;\n padding: var(--spacing-16);\n }\n\n .tbl__pagination-wrap {\n justify-content: center;\n }\n}\n","/* ── Section shell ─────────────────────────────────────────── */\n\n.avatar-grid {\n width: 100%;\n background-color: var(--color-slate-50);\n}\n\n/* ── Inner container ───────────────────────────────────────── */\n\n.avatar-grid__container {\n display: flex;\n flex-direction: column;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n width: 100%;\n align-items: center;\n gap: var(--spacing-48);\n}\n\n@media (min-width: 992px) {\n .avatar-grid__container {\n padding: var(--spacing-112) var(--spacing-24);\n gap: var(--spacing-80);\n }\n}\n\n/* ── Header ────────────────────────────────────────────────── */\n\n.avatar-grid__header {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n text-align: left;\n width: 100%;\n max-width: var(--content-width-846);\n gap: var(--spacing-16);\n}\n\n@media (min-width: 992px) {\n .avatar-grid__header {\n align-items: center;\n text-align: center;\n }\n}\n\n.avatar-grid__title {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--color-slate-1200);\n margin: 0;\n}\n\n.avatar-grid__description {\n font-family: var(--typography-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--typography-body-lg-font-weight);\n line-height: var(--typography-body-lg-line-height);\n color: var(--color-slate-900);\n margin: 0;\n}\n\n/* ── Grid wrapper ──────────────────────────────────────────── */\n\n.avatar-grid__grid-wrapper {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* ── Grid ──────────────────────────────────────────────────── */\n\n.avatar-grid__grid {\n display: grid;\n grid-template-columns: 1fr;\n row-gap: var(--spacing-32);\n column-gap: var(--spacing-16);\n width: 100%;\n}\n\n@media (min-width: 768px) {\n .avatar-grid__grid {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (min-width: 992px) {\n .avatar-grid__grid {\n grid-template-columns: repeat(4, 1fr);\n }\n}\n\n/* ── Extra cards — animated expand/collapse container ──────── */\n\n/*\n * Uses grid-template-rows: 0fr → 1fr for a height animation that\n * respects the actual content size (unlike max-height hacks).\n * The inner .avatar-grid__extra-grid needs min-height: 0 for 0fr to fully collapse.\n */\n.avatar-grid__extra-cards {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.8s cubic-bezier(0.16, 1, 0.3, 1);\n width: 100%;\n}\n\n.avatar-grid__extra-cards--open {\n grid-template-rows: 1fr;\n}\n\n.avatar-grid__extra-grid {\n min-height: 0;\n overflow: hidden;\n display: grid;\n grid-template-columns: 1fr;\n row-gap: var(--spacing-32);\n column-gap: var(--spacing-16);\n padding-top: var(--spacing-24);\n}\n\n@media (min-width: 768px) {\n .avatar-grid__extra-grid {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (min-width: 992px) {\n .avatar-grid__extra-grid {\n grid-template-columns: repeat(4, 1fr);\n padding-top: var(--spacing-32);\n }\n}\n\n/* ── Extra card — individual fade + rise animation ─────────── */\n\n.avatar-grid__extra-card {\n opacity: 0;\n transform: translateY(16px);\n transition:\n opacity 0.6s ease,\n transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.avatar-grid__extra-card--visible {\n opacity: 1;\n transform: translateY(0);\n}\n\n/* ── Card ──────────────────────────────────────────────────── */\n\n.avatar-grid__card {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-24);\n background-color: var(--color-slate-50);\n border-radius: var(--radius-2xl);\n width: 100%;\n}\n\n/* ── Image ─────────────────────────────────────────────────── */\n\n.avatar-grid__image-wrapper {\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: var(--radius-2xl);\n overflow: hidden;\n position: relative;\n background-color: var(--color-slate-100);\n}\n\n.avatar-grid__image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\n}\n\n/* ── Content ───────────────────────────────────────────────── */\n\n.avatar-grid__content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-8);\n width: 100%;\n}\n\n.avatar-grid__name {\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}\n\n.avatar-grid__role {\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}\n\n/* ── Link ──────────────────────────────────────────────────── */\n\n.avatar-grid__link {\n margin-top: calc(var(--spacing-8) * -1); /* Pull up slightly to reduce gap */\n}\n\n.avatar-grid__link .icon {\n color: #0072B1 !important; /* Official LinkedIn Blue */\n}\n\n.avatar-grid__link:hover .icon {\n color: #005582 !important; /* Darker LinkedIn Blue for hover */\n}\n\n/* ── Actions ───────────────────────────────────────────────── */\n\n.avatar-grid__actions {\n display: flex;\n justify-content: center;\n width: 100%;\n padding-top: var(--spacing-16);\n}\n\n@media (min-width: 992px) {\n .avatar-grid__actions {\n padding-top: 0;\n margin-top: calc(var(--spacing-48) - var(--spacing-80));\n width: auto;\n }\n\n .avatar-grid__actions .button {\n width: auto;\n }\n}\n","/* ============================================================\n IMAGE BANNER\n Variants:\n split → text left, photo right panel (default)\n full-bg → photo covers entire card, text overlaid on top\n\n Spacing follows the system convention:\n mobile → padding: var(--spacing-56) 0 (edge-to-edge card)\n desktop → padding: var(--spacing-112) var(--spacing-24)\n ============================================================ */\n\n/* ── Section shell ─────────────────────────────────────────── */\n\n.image-banner {\n width: 100%;\n font-family: var(--font-family-base);\n box-sizing: border-box;\n /* No horizontal padding on mobile — card is edge-to-edge */\n padding: var(--spacing-56) 0;\n}\n\n@media (min-width: 992px) {\n .image-banner {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Card (inner container) ────────────────────────────────── */\n\n.image-banner__inner {\n position: relative;\n display: flex;\n flex-direction: column;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n /* Square corners on mobile (edge-to-edge), rounded on desktop */\n border-radius: 0;\n overflow: hidden;\n background-color: var(--color-slate-1200);\n min-height: 480px;\n}\n\n@media (min-width: 992px) {\n .image-banner__inner {\n border-radius: var(--radius-2xl);\n }\n}\n\n/* ── Split variant: side-by-side on desktop ────────────────── */\n\n@media (min-width: 992px) {\n .image-banner__inner--split {\n flex-direction: row;\n align-items: stretch;\n }\n}\n\n/* ── Full-bg variant: taller card on mobile ─────────────────── */\n\n.image-banner__inner--full-bg {\n min-height: 740px;\n}\n\n@media (min-width: 992px) {\n .image-banner__inner--full-bg {\n min-height: 480px;\n max-height: 480px;\n }\n}\n\n/* ── Content (text + CTA panel) ────────────────────────────── */\n\n.image-banner__content {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n text-align: left;\n gap: var(--spacing-16);\n padding: var(--spacing-48) var(--spacing-24);\n flex: 0 0 auto;\n width: 100%;\n box-sizing: border-box;\n position: relative;\n z-index: 1;\n}\n\n@media (min-width: 992px) {\n .image-banner__content {\n gap: var(--spacing-24);\n }\n\n .image-banner__inner--split .image-banner__content {\n width: 50%;\n padding: var(--spacing-64) var(--spacing-56);\n justify-content: center;\n }\n\n .image-banner__inner--full-bg .image-banner__content {\n width: 60%;\n padding: var(--spacing-64) var(--spacing-56);\n justify-content: center;\n flex: 1 1 auto;\n align-self: stretch;\n }\n}\n\n/* ── Title ─────────────────────────────────────────────────── */\n\n.image-banner__title {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--color-slate-50);\n margin: 0;\n}\n\n/* ── Description ───────────────────────────────────────────── */\n\n.image-banner__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-50);\n margin: 0;\n opacity: 0.9;\n max-width: 42ch;\n}\n\n/* ── Actions ───────────────────────────────────────────────── */\n\n.image-banner__actions {\n display: flex;\n align-items: center;\n padding-top: var(--spacing-8);\n}\n\n/* ── Split: right-panel image ──────────────────────────────── */\n\n.image-banner__image-wrapper {\n position: relative;\n width: 100%;\n aspect-ratio: 4 / 3;\n overflow: hidden;\n flex-shrink: 0;\n}\n\n@media (min-width: 992px) {\n .image-banner__image-wrapper {\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n width: 55%;\n aspect-ratio: unset;\n }\n}\n\n.image-banner__image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center top;\n display: block;\n}\n\n/* ── Full-bg: background image + overlay ──────────────────── */\n\n.image-banner__bg-image-wrapper {\n position: absolute;\n inset: 0;\n z-index: 0;\n}\n\n.image-banner__bg-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\n}\n\n/*\n * Dark gradient overlay so white text stays legible over any photo.\n * Fades from opaque on the left to transparent on the right.\n */\n.image-banner__bg-overlay {\n position: absolute;\n inset: 0;\n background: linear-gradient(\n to right,\n rgba(0, 0, 0, 0.72) 0%,\n rgba(0, 0, 0, 0.48) 50%,\n rgba(0, 0, 0, 0.10) 100%\n );\n}\n","/* ── Semantic tokens ────────────────────────────────────────── */\n\n:root {\n --testimonial-bg: var(--color-slate-75);\n --testimonial-card-bg: var(--color-slate-50);\n --testimonial-card-radius: 2rem; /* 32px — no matching radius token */\n --testimonial-card-shadow: none;\n --testimonial-card-min-height: 416px;\n --testimonial-title-color: var(--color-slate-1200);\n --testimonial-quote-color: var(--color-slate-900);\n --testimonial-author-name-color: var(--color-slate-1200);\n --testimonial-author-location-color: var(--color-slate-700);\n --testimonial-dot-color: var(--color-slate-300);\n --testimonial-dot-active-color: var(--color-slate-1200);\n --testimonial-quotemark-color: var(--color-slate-200);\n}\n\n/* ── Section shell ─────────────────────────────────────────── */\n\n.testimonial {\n width: 100%;\n background-color: var(--testimonial-bg);\n}\n\n/* ── Inner container ───────────────────────────────────────── */\n\n.testimonial__container {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n width: 100%;\n gap: var(--spacing-48);\n}\n\n@media (min-width: 768px) {\n .testimonial__container {\n padding: var(--spacing-56) var(--spacing-24);\n }\n}\n\n@media (min-width: 992px) {\n .testimonial__container {\n padding: var(--spacing-112) var(--spacing-24);\n gap: var(--spacing-64);\n }\n}\n\n/* ── Title ─────────────────────────────────────────────────── */\n\n.testimonial__title {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--testimonial-title-color);\n margin: 0;\n text-align: left;\n width: 100%;\n}\n\n/* ── Carousel wrapper ──────────────────────────────────────── */\n\n.testimonial__carousel {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-32);\n}\n\n/* ── Card ──────────────────────────────────────────────────── */\n\n.testimonial__card {\n position: relative;\n width: 100%;\n height: 100%; /* fill the slide wrapper so all cards match the tallest */\n max-width: var(--content-width-1280);\n min-height: var(--testimonial-card-min-height);\n background-color: var(--testimonial-card-bg);\n border-radius: var(--testimonial-card-radius);\n box-shadow: var(--testimonial-card-shadow);\n /* Extra top padding reserves space for the absolute quote mark (100px img + 24px offset + gap) */\n padding: 148px var(--spacing-32) var(--spacing-48);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n text-align: left;\n gap: var(--spacing-24);\n overflow: hidden;\n}\n\n@media (min-width: 992px) {\n .testimonial__card {\n padding: var(--spacing-56) var(--spacing-80);\n align-items: center;\n text-align: center;\n }\n}\n\n/* ── Decorative quote marks ────────────────────────────────── */\n\n.testimonial__quotemark {\n position: absolute;\n user-select: none;\n line-height: 0;\n}\n\n.testimonial__quotemark-img {\n width: 100px;\n height: auto;\n display: block;\n}\n\n.testimonial__quotemark--open {\n top: var(--spacing-24);\n left: var(--spacing-24);\n}\n\n.testimonial__quotemark--close {\n bottom: var(--spacing-24);\n right: var(--spacing-24);\n display: none;\n}\n\n@media (min-width: 992px) {\n .testimonial__quotemark-img {\n width: 130px;\n }\n\n .testimonial__quotemark--open {\n top: var(--spacing-32);\n left: var(--spacing-40);\n }\n\n .testimonial__quotemark--close {\n display: block;\n bottom: var(--spacing-32);\n right: var(--spacing-40);\n }\n}\n\n/* ── Quote text ────────────────────────────────────────────── */\n\n.testimonial__quote {\n font-family: var(--typography-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--typography-body-lg-font-weight);\n line-height: var(--typography-body-lg-line-height);\n color: var(--testimonial-quote-color);\n text-align: left;\n margin: 0;\n max-width: 680px;\n position: relative;\n z-index: 1;\n}\n\n@media (min-width: 992px) {\n .testimonial__quote {\n text-align: center;\n }\n}\n\n/* ── Author ────────────────────────────────────────────────── */\n\n.testimonial__author {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-4);\n position: relative;\n z-index: 1;\n}\n\n@media (min-width: 992px) {\n .testimonial__author {\n align-items: center;\n }\n}\n\n.testimonial__author-avatar {\n width: 48px;\n height: 48px;\n border-radius: 50%;\n object-fit: cover;\n margin-bottom: var(--spacing-8);\n}\n\n.testimonial__author-name {\n font-family: var(--typography-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--font-weight-semi-bold);\n line-height: var(--typography-body-lg-line-height);\n color: var(--testimonial-author-name-color);\n margin: 0;\n}\n\n.testimonial__author-location {\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(--testimonial-author-location-color);\n margin: 0;\n}\n\n/* ── Dot pagination ────────────────────────────────────────── */\n\n.testimonial__dots {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n}\n\n.testimonial__dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background-color: var(--testimonial-dot-color);\n border: none;\n padding: 0;\n cursor: pointer;\n transition: background-color 0.2s ease, transform 0.2s ease;\n flex-shrink: 0;\n}\n\n.testimonial__dot:hover {\n background-color: var(--testimonial-dot-active-color);\n}\n\n.testimonial__dot--active {\n background-color: var(--testimonial-dot-active-color);\n transform: scale(1.25);\n}\n\n/* ── Slides stack — all slides rendered, stacked so container\n always takes the height of the tallest card ──────────────── */\n\n.testimonial__slides {\n position: relative;\n display: grid;\n width: 100%;\n}\n\n/*\n * All slides occupy the same grid cell (row 1 / col 1).\n * They are all rendered in the DOM so the grid row stretches\n * to the tallest card. Inactive slides are invisible + non-interactive.\n */\n.testimonial__slide {\n grid-area: 1 / 1;\n width: 100%;\n align-self: stretch; /* stretch to tallest sibling's height */\n opacity: 0;\n visibility: hidden;\n pointer-events: none;\n transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1),\n transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),\n visibility 0s linear 0.35s;\n transform: translateY(6px);\n}\n\n.testimonial__slide--active {\n opacity: 1;\n visibility: visible;\n pointer-events: auto;\n transform: translateY(0);\n transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1),\n transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),\n visibility 0s linear 0s;\n}\n\n.testimonial__slide--exiting {\n opacity: 0;\n visibility: visible; /* keep visible during exit */\n transform: translateY(-6px);\n transition: opacity 0.2s cubic-bezier(0.4, 0, 1, 1),\n transform 0.2s cubic-bezier(0.4, 0, 1, 1),\n visibility 0s linear 0.2s;\n}\n","/* ── Root ─────────────────────────────────────────────────── */\n\n.bh-root {\n width: 100%;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .bh-root {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Desktop layout ───────────────────────────────────────── */\n\n.bh-desktop {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n}\n\n.bh-desktopHeader {\n display: flex;\n align-items: center;\n gap: var(--spacing-24);\n}\n\n.bh-headerLeft {\n flex: 1 0 0;\n min-width: 0;\n}\n\n.bh-headerRight {\n flex: 0 0 auto;\n width: 295px;\n}\n\n.bh-desktopBody {\n display: flex;\n align-items: flex-start;\n gap: var(--spacing-24);\n}\n\n.bh-mobile {\n display: none;\n}\n\n/* ── Sidebar columns ──────────────────────────────────────── */\n\n.bh-sidebar {\n flex: 1 0 0;\n min-width: 0;\n display: flex;\n align-items: flex-end;\n}\n\n.bh-column {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n width: 100%;\n}\n\n.bh-columnHeader {\n display: flex;\n align-items: center;\n gap: 0;\n width: 100%;\n}\n\n.bh-columnLabel {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n padding: 0 var(--spacing-8);\n border-radius: var(--radius-full);\n background-color: var(--tag-fill-background);\n font-family: var(--font-family-base);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-regular);\n line-height: 20px;\n color: var(--tag-text-color);\n white-space: nowrap;\n flex-shrink: 0;\n}\n\n.bh-columnLine {\n flex: 1 0 0;\n min-width: 0;\n height: 1px;\n background-color: var(--color-opacity-slate-8);\n}\n\n/* ── Column list items ────────────────────────────────────── */\n\n.bh-columnList {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n.bh-listItem {\n padding-bottom: var(--spacing-16);\n border-bottom: 1px solid var(--color-opacity-slate-8);\n}\n\n.bh-listItem .ct-title {\n font-size: 16px;\n line-height: 24px;\n}\n\n.bh-listItem .ct-thumbnailWrapper {\n width: 80px !important;\n height: 53px !important;\n}\n\n.bh-listItem .card-thumbnail.ct-horizontal {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n.bh-listItem:last-child {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n/* ── Vertical divider ─────────────────────────────────────── */\n\n.bh-divider {\n width: 1px;\n align-self: stretch;\n background-color: var(--color-opacity-slate-8);\n flex-shrink: 0;\n}\n\n/* ── Center / Featured ────────────────────────────────────── */\n\n.bh-center {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n flex: 2 1 0;\n min-width: 0;\n justify-content: flex-start;\n align-self: stretch;\n}\n\n.bh-featured {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n.bh-featuredInfo {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n}\n\n.bh-featuredTitle {\n font-family: var(--typography-h4-font-family);\n font-size: var(--typography-h4-font-size);\n font-weight: var(--typography-h4-font-weight);\n line-height: var(--typography-h4-line-height);\n color: var(--color-slate-1200);\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n}\n\n.bh-featuredSummary {\n font-family: var(--font-family-base);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-regular);\n line-height: 24px;\n color: var(--color-slate-1200);\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.bh-featuredTags {\n display: flex;\n align-items: center;\n gap: var(--spacing-4);\n}\n\n.bh-featuredImage {\n width: 100%;\n border-radius: var(--radius-xl);\n overflow: hidden;\n position: relative;\n aspect-ratio: 594 / 381;\n}\n\n.bh-featuredImg {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n border-radius: inherit;\n}\n\n/* ── Featured footer (2 small cards below featured) ───────── */\n\n.bh-featuredFooter {\n display: flex;\n align-items: flex-start;\n gap: var(--spacing-16);\n width: 100%;\n}\n\n.bh-footerItem {\n display: flex;\n align-items: flex-start;\n gap: var(--spacing-16);\n flex: 1 0 0;\n min-width: 0;\n}\n\n.bh-footerDivider {\n width: 1px;\n align-self: stretch;\n background-color: var(--color-opacity-slate-8);\n flex-shrink: 0;\n}\n\n.bh-footerContent {\n flex: 1 0 0;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n}\n\n.bh-footerTitle {\n font-family: var(--font-family-base);\n font-size: 16px;\n font-weight: var(--font-weight-semi-bold);\n line-height: 24px;\n color: var(--color-slate-1200);\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n}\n\n/* ── Tag items ────────────────────────────────────────────── */\n\n.bh-tagItem {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-4);\n}\n\n.bh-tagDot {\n color: var(--tag-custom-text-color);\n font-size: var(--font-size-sm);\n line-height: 1;\n}\n\n/* ── Mobile layout ────────────────────────────────────────── */\n\n.bh-mobileFeatured {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n padding: var(--spacing-24) var(--spacing-16) 0;\n}\n\n.bh-mobileLabel {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n padding: 0 var(--spacing-8);\n border-radius: var(--radius-full);\n background-color: var(--tag-fill-background);\n font-family: var(--font-family-base);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-regular);\n line-height: 20px;\n color: var(--tag-text-color);\n white-space: nowrap;\n align-self: flex-start;\n}\n\n.bh-mobileFeaturedImage {\n width: 100%;\n aspect-ratio: 594 / 369;\n border-radius: var(--radius-md);\n overflow: hidden;\n position: relative;\n}\n\n.bh-mobileSection {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n padding: 0 var(--spacing-16);\n padding-bottom: var(--spacing-24);\n border-bottom: 1px solid var(--color-opacity-slate-8);\n}\n\n.bh-mobileSection:last-child {\n border-bottom: none;\n}\n\n@media (max-width: 991px) {\n .bh-desktop {\n display: none;\n }\n\n .bh-mobile {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n }\n}\n\n@media (min-width: 768px) and (max-width: 991px) {\n .bh-columnList {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--spacing-16);\n }\n\n .bh-columnList .bh-listItem:nth-last-child(-n+2) {\n border-bottom: none;\n padding-bottom: 0;\n }\n\n .bh-mobileSection {\n border-bottom: none !important;\n padding-bottom: 0;\n }\n\n .bh-mobileFeatured {\n border-bottom: none !important;\n padding-bottom: 0;\n }\n}\n\n@media (max-width: 767px) {\n .bh-listItemThumb {\n width: 80px;\n height: 53px;\n }\n\n .bh-featuredFooter {\n gap: var(--spacing-8);\n }\n}\n","/* ── Root ─────────────────────────────────────────────────── */\n\n.as-root {\n width: 100%;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .as-root {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Header ───────────────────────────────────────────────── */\n\n.as-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: var(--spacing-24);\n}\n\n.as-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}\n\n/* ── Desktop layout ───────────────────────────────────────── */\n\n.as-desktop {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n}\n\n.as-mobile {\n display: none;\n}\n\n/* ── Featured row (desktop) ───────────────────────────────── */\n\n.as-featuredRow {\n width: 100%;\n}\n\n.as-featuredRow .card-thumbnail.ct-horizontal {\n align-items: center;\n border-bottom: none;\n padding-bottom: 0;\n max-width: none !important;\n gap: var(--spacing-24);\n}\n\n.as-featuredRow .ct-thumbnailWrapper {\n width: auto !important;\n height: auto !important;\n flex: 1 1 50% !important;\n aspect-ratio: 16 / 9 !important;\n}\n\n.as-featuredRow .ct-content {\n flex: 1 1 50% !important;\n}\n\n.as-featuredRow .ct-title {\n font-size: var(--typography-h4-font-size);\n font-weight: var(--typography-h4-font-weight);\n line-height: var(--typography-h4-line-height);\n}\n\n/* ── Grid (desktop) ───────────────────────────────────────── */\n\n.as-grid {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: var(--spacing-24);\n}\n\n/* ── Mobile layout ────────────────────────────────────────── */\n\n.as-mobileFeatured {\n padding-bottom: var(--spacing-16);\n border-bottom: 1px solid var(--color-opacity-slate-8);\n}\n\n.as-mobileList {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n margin-top: var(--spacing-16);\n}\n\n.as-mobileListItem {\n padding-bottom: var(--spacing-16);\n border-bottom: 1px solid var(--color-opacity-slate-8);\n}\n\n.as-mobileListItem:last-child {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n.as-mobileListItem .card-thumbnail.ct-horizontal {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n@media (max-width: 991px) {\n .as-desktop {\n display: none;\n }\n\n .as-mobile {\n display: flex;\n flex-direction: column;\n }\n}\n\n/* ── Showcase variant (desktop) ───────────────────────────── */\n\n.as-showcaseGrid {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr;\n gap: var(--spacing-24);\n}\n\n.as-showcaseFeatured {\n display: flex;\n}\n\n.as-showcaseCol {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n.as-showcaseItem {\n padding-bottom: var(--spacing-16);\n border-bottom: 1px solid var(--color-opacity-slate-8);\n}\n\n.as-showcaseItem:last-child {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n.as-showcaseItem .card-thumbnail.ct-horizontal {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n/* ── Grid variant — mobile horizontal scroll ──────────────── */\n\n.as-mobile-grid {\n display: none;\n}\n\n.as-mobileScroll {\n display: flex;\n gap: var(--spacing-16);\n overflow-x: auto;\n scroll-snap-type: x mandatory;\n -webkit-overflow-scrolling: touch;\n padding: 0 var(--spacing-16);\n padding-bottom: var(--spacing-8);\n margin: 0 calc(var(--spacing-16) * -1);\n}\n\n.as-mobileScroll::-webkit-scrollbar {\n display: none;\n}\n\n.as-mobileScrollItem {\n flex: 0 0 280px;\n scroll-snap-align: start;\n}\n\n@media (max-width: 991px) {\n .as-mobile-grid {\n display: block;\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../components/Button/Button.css","../components/Link/Link.css","../components/Chip/Chip.css","../components/Tag/Tag.css","../components/Accordion/Accordion.css","../components/TextField/TextField.css","../components/SearchField/SearchField.css","../components/BottomSheet/BottomSheet.css","../components/Breadcrumb/Breadcrumb.css","../components/ChipDropdown/ChipDropdown.css","../components/Card/CardPrimaryVariant.css","../components/Card/CardSecondaryVariant.css","../components/Card/CardThumbnailVariant.css","../components/Card/CardCategoryVariant.css","../components/Pagination/Pagination.css","../components/Tabs/Tabs.css","../templates/FaqAccordion/FaqAccordion.css","../templates/FeatureCards/FeatureCards.css","../templates/FeatureCardsIcon/FeatureCardsIcon.css","../templates/FeatureBullets/FeatureBullets.css","../components/Footer/Footer.css","../templates/Hero/Hero.css","../templates/Header/Header.css","../templates/Stats/StatsV2.css","../templates/Stats/StatsSimple.css","../templates/FeatureScroll/FeatureScroll.css","../templates/FeatureSplit/FeatureSplit.css","../templates/StickyStackedCards/StickyStackedCards.css","../templates/CTABanner/CTABanner.css","../components/Navbar/Navbar.css","../templates/DayNightTransition/DayNightTransition.css","../templates/LogoMarquee/LogoMarquee.css","../components/DownloadBadge/DownloadBadge.css","../templates/Steps/Steps.css","../templates/DownloadBanner/DownloadBanner.css","../templates/TextScroll/TextScroll.css","../templates/StickyMarketCards/StickyMarketCards.css","../templates/Table/Table.css","../templates/Leaders/Leaders.css","../templates/ImageBanner/ImageBanner.css","../templates/Testimonial/Testimonial.css","../templates/ArticleHero/ArticleHero.css","../templates/ArticleSection/ArticleSection.css","../templates/CoralBanner/CoralBanner.css","../templates/FeatureAwards/FeatureAwards.css","../templates/HelpCentreCategories/HelpCentreCategories.css","../templates/HelpCentreSubCategories/HelpCentreSubCategories.css","../templates/HelpCenterPage/HelpCenterPage.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-md);\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-700);\n color: var(--color-slate-50);\n}\n\n.coral_primary:hover:not(:disabled) {\n background-color: var(--color-coral-800);\n}\n\n.coral_primary:active:not(:disabled) {\n background-color: var(--color-coral-900);\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-700);\n border-color: var(--color-coral-700);\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}","/* ── 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: var(--chip-border-width) 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-border);\n border-width: var(--chip-selected-border-width);\n color: var(--chip-selected-text);\n}\n\n/* ── Disabled ─────────────────────────────────────────────── */\n\n.chip:disabled {\n border-color: var(--chip-disabled-border);\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/* Selected chip now has a visible border, ring stays at -3px */\n.chip.selected .focusRing {\n inset: -3px;\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: -3px;\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: 18px;\n padding: 0 var(--spacing-4);\n gap: var(--spacing-4);\n font-size: 0.625rem;\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.tag.custom {\n color: var(--text-disabled);\n padding: 0 !important;\n height: auto !important;\n text-transform: uppercase;\n letter-spacing: 0.08em;\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__focus-ring {\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__title-wrapper {\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); /* 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.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__chevron--rotated {\n transform: rotate(180deg);\n}\n\n/* ── Body — CSS Grid animated collapse ────────────────────── */\n\n.accordion__body-wrapper {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 200ms ease;\n}\n\n.accordion__body-wrapper--open {\n grid-template-rows: 1fr;\n}\n\n.accordion__body-inner {\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); /* 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.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 box-sizing: border-box;\n cursor: text;\n transition: background-color 100ms ease, border-color 100ms ease;\n}\n\n/* ── Variant: Outline ─────────────────────────────────────── */\n\n.sf-wrapper.outline {\n background: var(--field-surface-outline);\n border-color: var(--field-border-default);\n}\n\n/* ── Variant: Fill ────────────────────────────────────────── */\n\n.sf-wrapper.fill {\n background: var(--field-surface-fill);\n}\n\n/* ── Hover — neutral ──────────────────────────────────────── */\n\n.sf-wrapper.neutral.outline:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-hover);\n}\n\n.sf-wrapper.neutral.fill:hover:not([data-disabled]):not(:focus-within) {\n background: var(--field-surface-fill-hover);\n}\n\n/* ── Focus — neutral ──────────────────────────────────────── */\n\n.sf-wrapper.neutral.outline:focus-within:not([data-disabled]) {\n border-color: var(--field-border-focus);\n}\n\n.sf-wrapper.neutral.fill:focus-within:not([data-disabled]) {\n border-color: var(--field-border-focus);\n}\n\n/* ── Status: Fail — Outline ───────────────────────────────── */\n\n.sf-wrapper.fail.outline {\n border-color: var(--field-border-fail-default);\n}\n\n.sf-wrapper.fail.outline:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-fail-hover);\n}\n\n.sf-wrapper.fail.outline:focus-within:not([data-disabled]) {\n border-color: var(--field-border-fail-focus);\n}\n\n/* ── Status: Fail — Fill ──────────────────────────────────── */\n\n.sf-wrapper.fail.fill {\n background: var(--field-surface-fail);\n}\n\n.sf-wrapper.fail.fill:hover:not([data-disabled]):not(:focus-within) {\n background: var(--field-surface-fail-hover);\n}\n\n.sf-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.sf-wrapper.success.outline {\n border-color: var(--field-border-success-default);\n}\n\n.sf-wrapper.success.outline:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-success-hover);\n}\n\n.sf-wrapper.success.outline:focus-within:not([data-disabled]) {\n border-color: var(--field-border-success-focus);\n}\n\n/* ── Status: Success — Fill ───────────────────────────────── */\n\n.sf-wrapper.success.fill {\n background: var(--field-surface-success);\n}\n\n.sf-wrapper.success.fill:hover:not([data-disabled]):not(:focus-within) {\n background: var(--field-surface-success-hover);\n}\n\n.sf-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.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}","/* ── 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-xs);\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-xs);\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-xs);\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-700); }\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 background-color: transparent;\n}\n\n.card-primary .cp-image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\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 object-position: center;\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/* ── Horizontal layout ────────────────────────────────────── */\n\n.card-thumbnail.ct-horizontal {\n flex-direction: row;\n align-items: flex-start;\n gap: var(--spacing-16);\n max-width: 846px;\n}\n\n.card-thumbnail.ct-horizontal .ct-thumbnailWrapper {\n width: 151px;\n height: 100px;\n aspect-ratio: auto;\n flex-shrink: 0;\n border-radius: var(--radius-xl);\n}\n\n.card-thumbnail.ct-horizontal .ct-title {\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.card-thumbnail.ct-horizontal .ct-summary {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.card-thumbnail.ct-reverse {\n flex-direction: row-reverse;\n}\n\n@media (max-width: 767px) {\n .card-thumbnail.ct-horizontal {\n padding-bottom: var(--spacing-16);\n border-bottom: 1px solid var(--color-opacity-slate-8);\n }\n\n .card-thumbnail.ct-horizontal .ct-thumbnailWrapper {\n width: 132px;\n height: 88px;\n border-radius: var(--radius-md);\n }\n\n .card-thumbnail.ct-horizontal .ct-title {\n font-size: 16px;\n }\n\n .card-thumbnail.ct-horizontal .ct-summary {\n display: none;\n }\n}\n\n/* ── Thumbnail wrapper ────────────────────────────────────── */\n\n.card-thumbnail .ct-thumbnailWrapper {\n position: relative;\n width: 100%;\n aspect-ratio: 16 / 9;\n border-radius: var(--radius-2xl);\n overflow: hidden;\n flex-shrink: 0;\n outline: 1px solid var(--border-subtle);\n background-color: transparent;\n}\n\n.card-thumbnail .ct-thumbnailImage {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\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-8);\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-8);\n flex: 1 0 0;\n min-width: 0;\n}\n\n.card-thumbnail .ct-tagItem {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n}\n\n.card-thumbnail .ct-tagDot {\n color: var(--tag-custom-text-color);\n font-size: var(--font-size-md);\n line-height: 1;\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-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--font-weight-semi-bold);\n line-height: var(--typography-body-lg-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-sm-font-family);\n font-size: var(--typography-body-sm-font-size);\n font-weight: var(--typography-body-sm-font-weight);\n line-height: var(--typography-body-sm-line-height);\n color: var(--color-slate-1200);\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 0;\n}","/* ── Card Category shell ──────────────────────────────────── */\n\n.card-category {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n width: 100%;\n}\n\n/* ── Title ────────────────────────────────────────────────── */\n\n.card-category .cc-header {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n cursor: pointer;\n}\n\n.card-category .cc-header:hover .cc-title {\n text-decoration: underline;\n}\n\n.card-category .cc-header:hover .cc-thumbnailImage {\n transform: scale(1.05);\n}\n\n.card-category .cc-thumbnailImage {\n transition: transform 0.25s ease-in-out;\n}\n\n.card-category .cc-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}\n\n/* ── Thumbnail ────────────────────────────────────────────── */\n\n.card-category .cc-thumbnailWrapper {\n width: 100%;\n aspect-ratio: 16 / 9;\n border-radius: var(--radius-2xl);\n overflow: hidden;\n position: relative;\n}\n\n.card-category .cc-thumbnailImage {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n/* ── Article list ─────────────────────────────────────────── */\n\n.card-category .cc-articleList {\n display: flex;\n flex-direction: column;\n}\n\n.card-category .cc-articleItem {\n padding: var(--spacing-12) 0;\n border-bottom: 1px solid var(--color-opacity-slate-8);\n}\n\n.card-category .cc-articleItem:first-child {\n padding-top: 0;\n}\n\n.card-category .cc-articleItem:last-child {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n.card-category .cc-articleItem .card-thumbnail.ct-horizontal {\n border-bottom: none;\n padding-bottom: 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: var(--line-height-sm);\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: var(--line-height-sm);\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-xs);\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 TABS PRIMITIVE\n ============================================================ */\n\n:root {\n --tabs-gap: var(--spacing-8);\n}\n\n.tabs-menu {\n display: flex;\n align-items: center;\n gap: var(--tabs-gap);\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: none;\n /* Firefox */\n padding-bottom: var(--spacing-4);\n margin-bottom: calc(var(--spacing-4) * -1);\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.tabs-menu::-webkit-scrollbar {\n display: none;\n /* Chrome/Safari */\n}\n\n/* ── Override Chip styles for Tabs ────────────────────────── */\n\n/* Make sure the chip text doesn't wrap */\n.tabs-menu .chip {\n white-space: nowrap;\n}\n\n/* Override the default Chip selected state to use the solid dark background */\n.tabs-menu .chip.selected {\n background-color: var(--color-slate-1200);\n border-color: var(--color-slate-1200);\n color: var(--color-slate-50);\n}\n\n/* Ensure the label inherits the regular weight when selected to match Figma */\n.tabs-menu .chip.selected .label {\n font-weight: var(--font-weight-regular);\n}\n","/* ── Section shell ─────────────────────────────────────────── */\n\n.faq-accordion {\n width: 100%;\n}\n\n.faq-accordion--white {\n background-color: var(--color-slate-50);\n}\n\n.faq-accordion--slate {\n background-color: var(--color-slate-75);\n}\n\n/* ── Inner container ───────────────────────────────────────── */\n\n.faq-accordion__container {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .faq-accordion__container {\n gap: var(--spacing-48);\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Section header ────────────────────────────────────────── */\n\n.faq-accordion__header {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 1.25rem;\n /* 20px mobile */\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .faq-accordion__header {\n align-items: center;\n gap: var(--spacing-24);\n }\n}\n\n/* ── Title ─────────────────────────────────────────────────── */\n\n.faq-accordion__title {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--text-primary);\n margin: 0;\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .faq-accordion__title {\n text-align: center;\n }\n}\n\n/* ── Accordion list ────────────────────────────────────────── */\n\n.faq-accordion__list {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.faq-accordion__list > * {\n max-width: 100%;\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: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n /* mobile */\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .fc-container {\n padding: var(--spacing-112) var(--spacing-24);\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(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--text-primary);\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: grid;\n grid-template-columns: 1fr;\n gap: var(--spacing-16);\n width: 100%;\n}\n\n/* tablet: 2 columns */\n@media (min-width: 768px) {\n .fc-grid {\n grid-template-columns: repeat(2, 1fr);\n gap: var(--spacing-24);\n }\n}\n\n/* desktop: 3 or 4 columns depending on card count */\n@media (min-width: 992px) {\n .fc-grid--3 {\n grid-template-columns: repeat(3, 1fr);\n }\n\n .fc-grid--4 {\n grid-template-columns: repeat(4, 1fr);\n }\n}\n\n/* ── Two Cards variant ─────────────────────────────────────── */\n\n.fc-grid--twoCards {\n grid-template-columns: 1fr;\n gap: var(--spacing-24);\n align-items: stretch;\n}\n\n@media (min-width: 768px) {\n .fc-grid--twoCards {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (min-width: 992px) {\n .fc-grid--twoCards {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n.fc-twoCardWrap {\n display: flex;\n flex-direction: column;\n align-self: stretch;\n min-width: 0;\n width: 100%;\n min-height: 0;\n}\n\n.fc-twoCard {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: min-content;\n min-width: 0;\n width: 100%;\n border-radius: var(--radius-2xl);\n overflow: hidden;\n box-sizing: border-box;\n}\n\n.fc-twoCard--light {\n background-color: var(--color-slate-75);\n}\n\n.fc-twoCard--dark {\n background-color: var(--color-slate-1200);\n}\n\n.fc-twoCard-body {\n flex: 0 0 auto;\n display: flex;\n flex-direction: column;\n gap: 0;\n padding: var(--spacing-32);\n}\n\n/* Equal-height row when a card has no image: grow body to fill the tile */\n.fc-twoCard:not(:has(.fc-twoCard-imageSection)) .fc-twoCard-body {\n flex: 1 1 auto;\n}\n\n.fc-twoCard-content {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n.fc-twoCard-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(--text-primary);\n margin: 0;\n}\n\n.fc-twoCard--dark .fc-twoCard-title {\n color: var(--color-slate-50);\n}\n\n.fc-twoCard-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}\n\n.fc-twoCard--dark .fc-twoCard-description {\n color: var(--color-slate-50);\n}\n\n.fc-twoCard-linkWrap {\n margin-top: 0;\n}\n\n.fc-twoCard-platformsOuter {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n margin-top: var(--spacing-24);\n flex-shrink: 0;\n}\n\n.fc-twoCard-platformsHeading {\n margin: 0;\n font-family: var(--typography-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--font-weight-semi-bold);\n line-height: var(--typography-body-lg-line-height);\n color: var(--text-primary);\n}\n\n.fc-twoCard--dark .fc-twoCard-platformsHeading {\n color: var(--color-slate-50);\n}\n\n.fc-twoCard--light .fc-twoCard-platformsHeading {\n color: var(--text-primary);\n}\n\n.fc-twoCard-platformRow {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--spacing-16);\n}\n\n.fc-platformLink {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n text-decoration: none;\n color: var(--text-primary);\n}\n\n.fc-platformLink:hover {\n text-decoration: underline;\n}\n\n.fc-platformLink:focus-visible {\n outline: 2px solid var(--color-coral-700);\n outline-offset: 2px;\n border-radius: var(--radius-xs);\n}\n\n.fc-platformLink--dark {\n color: var(--color-slate-50);\n}\n\n.fc-platformLink-icon {\n display: block;\n width: 2rem;\n height: 2rem;\n flex-shrink: 0;\n object-fit: contain;\n}\n\n.fc-platformLink-label {\n font-family: var(--typography-body-sm-font-family);\n font-size: var(--typography-body-sm-font-size);\n font-weight: var(--typography-body-sm-font-weight);\n line-height: var(--typography-body-sm-line-height);\n}\n\n.fc-twoCard-imageSection {\n margin-top: auto;\n flex: 0 0 auto;\n width: 100%;\n aspect-ratio: 592 / 363.51;\n position: relative;\n overflow: hidden;\n background-color: transparent;\n}\n\n.fc-twoCard-image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: contain;\n object-position: bottom center;\n display: block;\n}\n\n/* ── One Card variant ──────────────────────────────────────── */\n\n.fc-oneCardShell {\n width: 100%;\n box-sizing: border-box;\n}\n\n.fc-oneCardGrid {\n box-sizing: border-box;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: auto;\n align-items: stretch;\n gap: var(--spacing-16);\n width: 100%;\n max-width: calc(64 * var(--spacing-16));\n margin-inline: auto;\n border-radius: var(--spacing-32);\n overflow: hidden;\n}\n\n@media (min-width: 768px) {\n .fc-oneCardGrid {\n grid-template-columns: 1fr 1fr;\n grid-template-rows: auto;\n max-height: calc(30 * var(--spacing-16));\n min-height: calc(30 * var(--spacing-16));\n }\n}\n\n.fc-oneCardLeft {\n display: flex;\n flex-direction: column;\n gap: 0;\n padding: var(--spacing-32);\n box-sizing: border-box;\n min-height: 0;\n min-width: 0;\n}\n\n.fc-oneCardContentBlock {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n min-width: 0;\n}\n\n.fc-oneCardRight {\n position: relative;\n min-width: 0;\n min-height: 0;\n background-color: var(--color-slate-1200);\n box-sizing: border-box;\n}\n\n@media (max-width: 767px) {\n .fc-oneCardRight {\n padding: 0 var(--spacing-16);\n }\n}\n\n.fc-oneCardImage {\n display: block;\n width: 100%;\n height: auto;\n margin: 0;\n object-fit: contain;\n object-position: center bottom;\n}\n\n@media (min-width: 768px) {\n .fc-oneCardRight {\n padding: 0;\n }\n\n .fc-oneCardImage {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n }\n}","/* ── Section shell ─────────────────────────────────────────── */\n\n.fci-section {\n width: 100%;\n background-color: var(--color-slate-50);\n}\n\n/* ── Inner container ───────────────────────────────────────── */\n\n.fci-container {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-48);\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .fci-container {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Header ────────────────────────────────────────────────── */\n\n.fci-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 .fci-header {\n align-items: center;\n text-align: center;\n }\n}\n\n/* ── Section title (H2) ────────────────────────────────────── */\n\n.fci-sectionTitle {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--text-primary);\n margin: 0;\n}\n\n/* ── Section description ───────────────────────────────────── */\n\n.fci-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.fci-grid {\n display: grid;\n grid-template-columns: 1fr;\n gap: var(--spacing-16);\n width: 100%;\n}\n\n/* tablet: always 2 columns */\n@media (min-width: 768px) {\n .fci-grid {\n grid-template-columns: repeat(2, 1fr);\n gap: var(--spacing-24);\n }\n}\n\n/* desktop: 3 or 4 columns depending on card count */\n@media (min-width: 992px) {\n .fci-grid--3 {\n grid-template-columns: repeat(3, 1fr);\n }\n\n .fci-grid--4 {\n grid-template-columns: repeat(4, 1fr);\n }\n}\n","/* ── Section shell ─────────────────────────────────────────── */\n\n.feature-bullets {\n width: 100%;\n background-color: var(--color-slate-50);\n}\n\n/* ── Inner container ───────────────────────────────────────── */\n\n.feature-bullets__container {\n display: flex;\n flex-direction: column;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .feature-bullets__container {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Split layout ──────────────────────────────────────────── */\n\n.feature-bullets__split {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--spacing-24);\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .feature-bullets__split {\n flex-direction: row;\n align-items: center;\n gap: 8rem;\n /* 128px — no token at this scale */\n }\n\n /* Reverse column order when image is on the left */\n .feature-bullets__split--image-left {\n flex-direction: row-reverse;\n }\n}\n\n/* ── Content column ────────────────────────────────────────── */\n\n.feature-bullets__content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-24);\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .feature-bullets__content {\n gap: var(--spacing-32);\n width: 540px;\n flex-shrink: 0;\n }\n}\n\n/* ── Title ─────────────────────────────────────────────────── */\n\n.feature-bullets__title {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--text-primary);\n margin: 0;\n}\n\n/* ── Bullet List ───────────────────────────────────────────── */\n\n.feature-bullets__bullet-list {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.feature-bullets__bullet-item {\n display: flex;\n align-items: flex-start;\n gap: var(--spacing-16);\n padding: var(--spacing-16) 0;\n border-bottom: 1px solid var(--color-slate-100);\n}\n\n.feature-bullets__bullet-item:first-child {\n padding-top: 0;\n}\n\n.feature-bullets__bullet-item:last-child {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n/* ── Icon ──────────────────────────────────────────────────── */\n\n.feature-bullets__icon-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem; /* 24px */\n height: 1.5rem; /* 24px */\n flex-shrink: 0;\n color: var(--color-slate-1200);\n margin-top: 2px; /* Slight optical adjustment to align with text */\n}\n\n.feature-bullets__icon {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n/* ── Bullet Text ───────────────────────────────────────────── */\n\n.feature-bullets__bullet-text {\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}\n\n/* ── Image column ──────────────────────────────────────────── */\n\n.feature-bullets__image-wrapper {\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: var(--radius-2xl);\n /* 24px mobile */\n overflow: hidden;\n flex-shrink: 0;\n position: relative;\n background-color: transparent;\n}\n\n@media (min-width: 992px) {\n .feature-bullets__image-wrapper {\n flex: 1 0 0;\n width: auto;\n border-radius: 2rem;\n /* 32px desktop — no exact token */\n }\n}\n\n.feature-bullets__image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\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-opacity-white-16) mob/tab\n --footer-divider-desktop var(--color-opacity-white-16) 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: 32px;\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 width: 32px;\n height: 32px;\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 cursor: pointer;\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: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--spacing-8);\n}\n\n.footer__app-badge {\n display: block;\n width: 100%;\n text-decoration: none;\n padding: var(--spacing-4) 0;\n}\n\n.footer__app-badge img {\n display: block;\n width: 100%;\n height: 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: var(--spacing-8) 0 0 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 /* Badges: single column inside narrow sidebar card */\n .footer__deriv-go-card .footer__app-badges {\n grid-template-columns: 1fr;\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 /* Restore icon sizes to 24px on desktop */\n .footer__social-icon {\n width: 24px;\n height: 24px;\n }\n\n .footer__social-icon svg {\n width: 16px;\n height: 16px;\n }\n\n .footer__ai-icon {\n width: 24px;\n height: 24px;\n }\n}\n","/* ============================================================\n HERO COMPONENT\n Variants: split | centered | showcase\n Dark, full-bleed, immersive — 100vh with scroll-driven shrink\n\n Token inheritance:\n Core (--color-*, --spacing-*, --font-*) →\n Semantic (--typography-*) →\n Component (--hero-*) →\n Styles\n ============================================================ */\n\n/* ── COMPONENT TOKENS ─────────────────────────────────────── */\n:root {\n --hero-dark-bg: var(--color-slate-1200);\n --hero-text-light: var(--color-slate-50);\n\n --hero-subtitle-size: var(--typography-body-md-font-size);\n --hero-subtitle-lh: var(--typography-body-md-line-height);\n --hero-subtitle-weight: var(--font-weight-semi-bold);\n\n --hero-title-size: var(--typography-h1-font-size);\n --hero-title-lh: var(--typography-h1-line-height);\n\n --hero-body-size: var(--typography-body-md-font-size);\n --hero-body-lh: var(--typography-body-md-line-height);\n\n /* Split variant padding */\n --hero-split-padding-top-mobile: var(--spacing-80);\n --hero-split-padding-top-tablet: var(--spacing-96);\n --hero-split-padding-top-desktop: var(--spacing-96);\n\n /* Centered / Showcase variant padding */\n --hero-shrink-radius: 3.5rem;\n --hero-padding-top-mobile: var(--spacing-80);\n --hero-padding-top-tablet: var(--spacing-96);\n --hero-padding-top-desktop: var(--spacing-112);\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 background-color: var(--hero-dark-bg);\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n height: 100vh;\n display: flex;\n align-items: flex-start;\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: var(--content-width-1280);\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(--hero-subtitle-weight);\n line-height: var(--hero-subtitle-lh);\n color: var(--hero-text-light);\n margin: 0;\n}\n\n.hero__title {\n font-size: var(--hero-title-size);\n font-weight: var(--typography-h1-font-weight);\n line-height: var(--hero-title-lh);\n color: var(--hero-text-light);\n margin: 0;\n}\n\n.hero__description {\n font-size: var(--hero-body-size);\n font-weight: var(--typography-body-md-font-weight);\n line-height: var(--hero-body-lh);\n color: var(--hero-text-light);\n margin: 0;\n opacity: 0.8;\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 align-items: stretch;\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: SPLIT\n Dark full-bleed bg image, gradient overlay, left text + right image\n Scroll-driven shrink animation\n ============================================================ */\n\n.hero--split {\n animation: hero-split-shrink linear both;\n animation-timeline: view();\n animation-range: exit 0% exit 40%;\n}\n\n@keyframes hero-split-shrink {\n 0% {\n border-bottom-left-radius: 0px;\n border-bottom-right-radius: 0px;\n scale: 1;\n }\n 100% {\n border-bottom-left-radius: var(--hero-shrink-radius);\n border-bottom-right-radius: var(--hero-shrink-radius);\n scale: 0.94;\n }\n}\n\n/* Mobile/tablet: transparent top → dark bottom */\n.hero--split .hero__overlay {\n background: linear-gradient(\n 180deg,\n transparent 0%,\n transparent 30%,\n var(--color-opacity-slate-48) 55%,\n var(--color-opacity-slate-88) 75%,\n var(--hero-dark-bg) 100%\n );\n}\n\n.hero--split .hero__inner {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n width: 100%;\n height: 100vh;\n padding-top: 0;\n padding-bottom: var(--spacing-40);\n padding-left: var(--spacing-16);\n padding-right: var(--spacing-16);\n}\n\n.hero--split .hero__content {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n width: 100%;\n}\n\n/* Mobile/tablet: hero image — vertically centred in viewport, 80vh band */\n.hero--split .hero__image-slot {\n position: absolute;\n top: 10vh;\n bottom: auto;\n left: 0;\n right: 0;\n height: 80vh;\n z-index: 1;\n overflow: visible;\n pointer-events: none;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.hero--split .hero__image-slot img {\n width: 100%;\n max-height: 100%;\n object-fit: contain;\n object-position: center;\n display: block;\n}\n\n.hero--split .hero__image-slot > *:not(img) {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n.hero--split .hero__subtitle {\n font-size: var(--typography-h4-font-size);\n line-height: var(--typography-h4-line-height);\n}\n\n.hero--split .hero__buttons {\n align-items: stretch;\n}\n\n/* ============================================================\n VARIANT: CENTERED\n Full bg image, centered text, top gradient overlay, 100vh\n ============================================================ */\n\n.hero--centered {\n animation: hero-centered-shrink linear both;\n animation-timeline: view();\n animation-range: exit 0% exit 40%;\n}\n\n@keyframes hero-centered-shrink {\n 0% {\n border-bottom-left-radius: 0px;\n border-bottom-right-radius: 0px;\n scale: 1;\n }\n 100% {\n border-bottom-left-radius: var(--hero-shrink-radius);\n border-bottom-right-radius: var(--hero-shrink-radius);\n scale: 0.94;\n }\n}\n\n/* Dark top → transparent bottom overlay */\n.hero--centered .hero__overlay {\n background: linear-gradient(\n 180deg,\n var(--hero-dark-bg) 0%,\n var(--color-opacity-slate-88) 20%,\n var(--color-opacity-slate-48) 45%,\n transparent 70%\n );\n}\n\n.hero--centered .hero__inner {\n display: flex;\n align-items: flex-start;\n justify-content: center;\n width: 100%;\n height: calc(100vh - 16px);\n padding-top: var(--hero-padding-top-mobile);\n padding-bottom: 0;\n}\n\n.hero--centered .hero__content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-24);\n width: 100%;\n height: 100vh;\n padding-bottom: var(--spacing-48);\n text-align: left;\n justify-content: flex-start;\n}\n\n.hero--centered .hero__text {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-16);\n max-width: 640px;\n width: 100%;\n}\n\n.hero--centered .hero__buttons {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-12);\n align-items: stretch;\n width: 100%;\n justify-content: center;\n}\n\n/* ============================================================\n VARIANT: SHOWCASE\n Dark bg + full-bleed bg image, center-aligned text,\n large product image below buttons\n ============================================================ */\n\n.hero--showcase {\n animation: hero-showcase-shrink linear both;\n animation-timeline: view();\n animation-range: exit 0% exit 40%;\n}\n\n@keyframes hero-showcase-shrink {\n 0% {\n border-bottom-left-radius: 0px;\n border-bottom-right-radius: 0px;\n scale: 1;\n }\n 100% {\n border-bottom-left-radius: var(--hero-shrink-radius);\n border-bottom-right-radius: var(--hero-shrink-radius);\n scale: 0.94;\n }\n}\n\n/* Dark top → transparent bottom overlay */\n.hero--showcase .hero__overlay {\n background: linear-gradient(\n 180deg,\n var(--hero-dark-bg) 0%,\n var(--color-opacity-slate-88) 20%,\n var(--color-opacity-slate-48) 45%,\n transparent 70%\n );\n}\n\n.hero--showcase .hero__inner {\n display: flex;\n align-items: flex-start;\n justify-content: center;\n width: 100%;\n height: calc(100vh - 16px);\n padding-top: var(--hero-padding-top-mobile);\n padding-bottom: 0;\n}\n\n.hero--showcase .hero__content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-24);\n width: 100%;\n height: 100vh;\n padding-bottom: var(--spacing-48);\n text-align: left;\n}\n\n.hero--showcase .hero__text {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-16);\n max-width: 640px;\n width: 100%;\n}\n\n.hero--showcase .hero__buttons {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-12);\n align-items: stretch;\n width: 100%;\n}\n\n/* Large product image — centered below buttons */\n.hero--showcase .hero__product-image {\n position: relative;\n width: 100%;\n max-width: 100%;\n height: 100%;\n min-height: 17.5rem;\n max-height: 50vh;\n overflow: clip;\n margin-top: auto;\n margin-bottom: 8px;\n}\n\n.hero--showcase .hero__product-image img,\n.hero--showcase .hero__product-image > * {\n width: 100%;\n height: 100%;\n display: block;\n object-fit: contain;\n object-position: center;\n}\n\n/* Smaller floating image — below product image */\n.hero--showcase .hero__floating-image {\n width: 100%;\n max-width: 160px;\n margin-top: auto;\n margin-bottom: var(--spacing-40);\n aspect-ratio: 1 / 1;\n}\n\n.hero--showcase .hero__floating-image img,\n.hero--showcase .hero__floating-image > * {\n width: 100%;\n height: 100%;\n display: block;\n object-fit: cover;\n object-position: center;\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--split .hero__inner {\n padding-top: var(--hero-split-padding-top-tablet);\n padding-bottom: var(--spacing-40);\n padding-left: var(--spacing-24);\n padding-right: var(--spacing-24);\n justify-content: flex-end;\n }\n\n .hero--split .hero__buttons {\n flex-direction: row;\n align-items: center;\n width: auto;\n }\n\n .hero--centered .hero__inner {\n padding-top: var(--hero-padding-top-tablet);\n padding-bottom: 0;\n }\n\n .hero--centered .hero__content {\n align-items: center;\n text-align: center;\n }\n\n .hero--centered .hero__text {\n align-items: center;\n }\n\n .hero--centered .hero__buttons {\n flex-direction: row;\n align-items: center;\n justify-content: center;\n max-width: none;\n width: auto;\n }\n\n .hero--showcase .hero__inner {\n padding-top: var(--hero-padding-top-tablet);\n padding-bottom: 0;\n }\n\n .hero--showcase .hero__content {\n align-items: center;\n text-align: center;\n }\n\n .hero--showcase .hero__text {\n align-items: center;\n }\n\n .hero--showcase .hero__buttons {\n flex-direction: row;\n align-items: center;\n justify-content: center;\n max-width: none;\n width: auto;\n }\n\n .hero--showcase .hero__product-image {\n max-width: 640px;\n }\n\n .hero--showcase .hero__floating-image {\n max-width: 180px;\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 /* ── Split desktop: text constrained to left half ── */\n .hero--split .hero__inner {\n max-width: var(--content-width-1280);\n padding-top: var(--hero-split-padding-top-desktop);\n padding-bottom: var(--spacing-96);\n padding-left: var(--spacing-32);\n padding-right: var(--spacing-32);\n height: 100vh;\n justify-content: center;\n align-items: flex-start;\n }\n\n .hero--split .hero__content {\n flex-direction: column;\n gap: var(--spacing-32);\n max-width: 600px;\n }\n\n .hero--split .hero__left {\n width: 100%;\n }\n\n .hero--split .hero__body {\n gap: var(--spacing-32);\n }\n\n .hero--split .hero__subtitle {\n line-height: var(--typography-h5-line-height);\n }\n\n /* Desktop: image in right half */\n .hero--split .hero__image-slot {\n position: absolute;\n top: var(--spacing-72);\n right: auto;\n left: 50%;\n transform: none;\n z-index: 4;\n width: 50%;\n height: calc(100% - 5px);\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: visible;\n pointer-events: none;\n max-width: none;\n }\n\n .hero--split .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: center;\n }\n\n .hero--split .hero__buttons {\n flex-direction: row;\n align-items: center;\n width: auto;\n gap: var(--spacing-16);\n }\n\n /* Desktop split overlay: dark left → transparent right */\n .hero--split .hero__overlay {\n background: linear-gradient(\n to right,\n var(--hero-dark-bg) 0%,\n var(--color-opacity-slate-88) 40%,\n var(--color-opacity-slate-24) 100%\n );\n }\n\n /* ── Centered desktop ── */\n .hero--centered .hero__inner {\n padding-top: var(--hero-padding-top-desktop);\n padding-bottom: 0;\n }\n\n .hero--centered .hero__text {\n max-width: 760px;\n }\n\n .hero--centered .hero__buttons {\n flex-direction: row;\n align-items: center;\n justify-content: center;\n width: auto;\n }\n\n /* ── Showcase desktop ── */\n .hero--showcase .hero__inner {\n padding-top: var(--hero-padding-top-desktop);\n padding-bottom: 0;\n }\n\n .hero--showcase .hero__text {\n max-width: 760px;\n }\n\n .hero--showcase .hero__product-image {\n width: auto;\n max-width: none;\n height: 50vh;\n max-height: none;\n aspect-ratio: 1 / 1;\n margin-bottom: 8vh;\n }\n\n .hero--showcase .hero__floating-image {\n max-width: 200px;\n }\n}\n\n/* ============================================================\n WIDE ≥1280px\n ============================================================ */\n\n@media (min-width: 1280px) {\n .hero--showcase .hero__product-image {\n width: auto;\n max-width: none;\n height: 50vh;\n max-height: none;\n aspect-ratio: 1 / 1;\n }\n\n .hero--showcase .hero__floating-image {\n max-width: 220px;\n }\n}\n","/* ============================================================\n HEADER COMPONENT\n Variants: visuals | minimal\n Light grey bg, content-first, lower visual weight\n\n Token inheritance:\n Core (--color-*, --spacing-*, --font-*) →\n Semantic (--typography-*) →\n Component (--header-*) →\n Styles\n ============================================================ */\n\n/* ── COMPONENT TOKENS ─────────────────────────────────────── */\n:root {\n --header-light-bg: var(--color-slate-75);\n --header-text-dark: var(--text-primary);\n\n --header-subtitle-size: var(--typography-body-md-font-size);\n --header-subtitle-lh: var(--typography-body-md-line-height);\n --header-subtitle-weight: var(--font-weight-semi-bold);\n\n --header-title-size: var(--typography-h1-font-size);\n --header-title-lh: var(--typography-h1-line-height);\n\n --header-body-size: var(--typography-body-md-font-size);\n --header-body-lh: var(--typography-body-md-line-height);\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.header {\n position: relative;\n width: 100%;\n font-family: var(--font-family-base);\n box-sizing: border-box;\n overflow: hidden;\n background-color: var(--header-light-bg);\n min-height: 540px;\n display: flex;\n align-items: center;\n}\n\n/* ── SVG GRID PATTERN ─────────────────────────────────────── */\n\n.header__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='64' height='64'%3E%3Cpath d='M 64 0 L 0 0 0 64' fill='none' stroke='%23cfd4d8' stroke-width='0.5' opacity='0.5'/%3E%3C/svg%3E\");\n background-repeat: repeat;\n background-size: 64px 64px;\n}\n\n/* ── OVERLAY — fades visuals at all edges ─────────────────── */\n\n.header__overlay {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 2;\n background:\n linear-gradient(to right, var(--header-light-bg) 0%, rgba(246, 247, 248, 0) 18%, rgba(246, 247, 248, 0) 82%, var(--header-light-bg) 100%),\n linear-gradient(to bottom, var(--header-light-bg) 0%, rgba(246, 247, 248, 0) 30%, rgba(246, 247, 248, 0) 70%, var(--header-light-bg) 100%);\n}\n\n/* ── INNER CONTAINER ──────────────────────────────────────── */\n\n.header__inner {\n position: relative;\n z-index: 3;\n width: 100%;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n box-sizing: border-box;\n padding: var(--spacing-24) var(--spacing-16);\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n min-height: 540px;\n}\n\n/* ── CONTENT ──────────────────────────────────────────────── */\n\n.header__content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-32);\n width: 100%;\n text-align: left;\n}\n\n/* ── BODY (text + buttons) ────────────────────────────────── */\n\n.header__body {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n}\n\n/* ── TEXT BLOCK ───────────────────────────────────────────── */\n\n.header__text {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n align-items: flex-start;\n max-width: var(--content-width-846);\n}\n\n.header__subtitle {\n font-size: var(--header-subtitle-size);\n font-weight: var(--header-subtitle-weight);\n line-height: var(--header-subtitle-lh);\n color: var(--header-text-dark);\n margin: 0;\n}\n\n.header__title {\n font-size: var(--header-title-size);\n font-weight: var(--typography-h1-font-weight);\n line-height: var(--header-title-lh);\n color: var(--header-text-dark);\n margin: 0;\n}\n\n.header__description {\n font-size: var(--header-body-size);\n font-weight: var(--typography-body-md-font-weight);\n line-height: var(--header-body-lh);\n color: var(--header-text-dark);\n margin: 0;\n}\n\n/* ── CTA BUTTONS ──────────────────────────────────────────── */\n\n.header__buttons {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n width: 100%;\n align-items: stretch;\n justify-content: flex-start;\n}\n\n/* ── FLOATING VISUALS (visuals variant only) ──────────────── */\n\n.header__visual {\n position: absolute;\n z-index: 1;\n overflow: hidden;\n pointer-events: none;\n}\n\n.header__visual img,\n.header__visual > * {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: contain;\n object-position: center;\n}\n\n/* Left visual: top-left corner; right visual: bottom-right corner */\n.header__visual--left {\n width: 160px;\n height: 160px;\n top: -20px;\n left: -20px;\n bottom: auto;\n right: auto;\n will-change: transform;\n}\n\n.header__visual--right {\n width: 160px;\n height: 160px;\n bottom: -20px;\n right: -20px;\n top: auto;\n left: auto;\n will-change: transform;\n}\n\n/* ============================================================\n TABLET ≥768px\n ============================================================ */\n\n@media (min-width: 768px) {\n .header__inner {\n padding: var(--spacing-40) var(--spacing-24);\n align-items: center;\n }\n\n .header__content {\n align-items: center;\n text-align: center;\n }\n\n .header__text {\n align-items: center;\n }\n\n .header__buttons {\n flex-direction: row;\n align-items: center;\n justify-content: center;\n width: auto;\n }\n}\n\n/* ============================================================\n DESKTOP ≥992px\n ============================================================ */\n\n@media (min-width: 992px) {\n .header__inner {\n padding: var(--spacing-48) var(--spacing-32);\n position: relative;\n }\n\n .header__content {\n max-width: var(--content-width-846);\n width: 100%;\n }\n\n .header__buttons {\n flex-direction: row;\n width: auto;\n }\n\n /* Desktop visuals: larger, left visual top-left, right visual bottom-right */\n .header--visuals .header__visual--left {\n width: 241px;\n height: 241px;\n top: 48px;\n left: 48px;\n bottom: auto;\n right: auto;\n }\n\n .header--visuals .header__visual--right {\n width: 241px;\n height: 241px;\n bottom: 48px;\n right: 48px;\n top: auto;\n left: auto;\n }\n}\n","/* ============================================================\n STATS V2 — laurel-wrapped award badges + auto-cycling carousel\n Mirrors the Webflow `stats-carousel` reference layout while\n reusing the same animation primitives as the Default Stats.\n\n Token inheritance:\n Primitive (core) → Semantic (--stats-v2-*) → Component\n ============================================================ */\n\n:root {\n /* Section bg is transparent in the Webflow reference — only the\n carousel card has a background, so it visibly \"pops\" against\n the page. The card uses `--color-slate-75` (#f6f7f8), the\n exact value referenced in the Webflow `stats-carousel` CSS\n (`.achievements_slider-component { background-color: #f6f7f8 }`).\n `--color-slate-50` would render pure white and disappear\n against a white page, which is what we want to avoid. */\n --stats-v2-bg: transparent;\n --stats-v2-card-bg: var(--color-slate-75);\n --stats-v2-text-primary: var(--text-primary);\n\n --stats-v2-title-size: var(--typography-h2-font-size);\n --stats-v2-title-lh: var(--typography-h2-line-height);\n\n --stats-v2-desc-size: var(--typography-body-md-font-size);\n --stats-v2-desc-lh: var(--typography-body-md-line-height);\n\n /* Carousel value — SAME size for every item (active + above + below).\n The visual hierarchy in the Webflow reference comes purely from\n `scale3d(0.7)` (above/below) vs `scale3d(1)` (active), NOT from\n a font-size change. Animating font-size mid-transition produces a\n visible \"text pop\" that the live site doesn't have, so we keep\n the typography stable and let the transform do all the work.\n\n Default value (mobile): Webflow's 4rem / 4.5rem at ≤479px.\n Tablet (≥768px) and desktop (≥992px) bump it to 5xl. */\n --stats-v2-value-size: 4rem;\n --stats-v2-value-lh: 4.5rem;\n\n --stats-v2-label-size: var(--typography-body-md-font-size);\n --stats-v2-label-lh: var(--typography-body-md-line-height);\n\n --stats-v2-award-heading-size: var(--font-size-xs);\n --stats-v2-award-heading-lh: var(--line-height-xs);\n --stats-v2-award-subheading-size: 0.625rem;\n --stats-v2-award-subheading-lh: var(--line-height-xs);\n\n /* ── Carousel slot spacing ────────────────────────────────\n Vertical distance between the active stat and the\n above/below neighbours, expressed as a percentage of each\n stat's own height. This is the SAME unit Webflow ships in\n its IX2 `TRANSFORM_MOVE` `yValue` and the SAME default\n (110%) — kept as a CSS variable so designers can override\n it without touching the React file. */\n --stats-v2-slot-offset: 110%;\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.stats-v2 {\n width: 100%;\n background-color: var(--stats-v2-bg);\n font-family: var(--font-family-base);\n box-sizing: border-box;\n}\n\n.stats-v2__inner {\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) 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-v2__header {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n text-align: left;\n}\n\n.stats-v2__title {\n font-size: var(--stats-v2-title-size);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--stats-v2-title-lh);\n color: var(--stats-v2-text-primary);\n margin: 0;\n}\n\n.stats-v2__description {\n font-size: var(--stats-v2-desc-size);\n font-weight: var(--font-weight-regular);\n line-height: var(--stats-v2-desc-lh);\n color: var(--stats-v2-text-primary);\n margin: 0;\n}\n\n/* ── CONTENT ROW ──────────────────────────────────────────── */\n\n.stats-v2__content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-32);\n width: 100%;\n}\n\n/* ── CAROUSEL CARD ────────────────────────────────────────── */\n\n.stats-v2__card {\n background-color: var(--stats-v2-card-bg);\n /* Webflow `.achievements_slider-component` uses border-radius: 3rem\n (48px). The design system tops out at --radius-2xl (1.5rem / 24px),\n so we hardcode the reference value here to keep the card visually\n identical to the live site. */\n border-radius: 3rem;\n padding: var(--spacing-24);\n width: 100%;\n max-width: 414px;\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.stats-v2__card-track {\n position: relative;\n width: 100%;\n /* Mobile carousel area — Webflow's mobile `.achievements_slider-component`\n is 320px tall (max-width 22rem; height 20rem) with 0 vertical padding,\n so the inner track gets the full 320px. */\n height: 320px;\n overflow: visible;\n}\n\n/* ── STAT ITEM (carousel slot) ────────────────────────────── */\n\n/* Webflow positions items with `position: absolute` (no top/left)\n and lets the parent flex container's `justify-content: center;\n align-items: center` place each item's STATIC position at the\n centre of the track. The IX2 transforms then operate on that\n centred origin — so the active item is `translateY(0%)` and\n above/below are `translateY(±110%)` relative to the centre.\n\n We replicate that by parking each item at `left: 50%; top: 50%`\n and using `transform: translate(-50%, -50%)` to centre it via\n its OWN box. The slot transforms in `getSlotStyle()` then add\n on top of that base — they ONLY change the Y component and\n the scale, never touching the X centring. The base translate\n keeps a constant horizontal centring no matter what slot the\n item is in. */\n.stats-v2__stat {\n position: absolute;\n top: 50%;\n left: 50%;\n text-align: center;\n will-change: transform, opacity;\n /* Default state matches the Webflow `is-2` (active) inline\n style: `translate3d(0, 0%, 0) scale3d(1, 1, 1)` once the\n `-50%, -50%` centring is factored in. */\n transform: translate(-50%, -50%);\n opacity: 1;\n}\n\n.stats-v2__stat-value {\n display: block;\n font-family: var(--font-family-base);\n /* Same size for every item — see the comment on\n `--stats-v2-value-size` above. */\n font-size: var(--stats-v2-value-size);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--stats-v2-value-lh);\n color: var(--stats-v2-text-primary);\n /* Mirrors Webflow's `.achievements_slider-heading\n { margin-bottom: -.5rem }` — pulls the subheading up\n so the two lines sit visually closer together. */\n margin-bottom: calc(var(--spacing-8) * -1);\n}\n\n.stats-v2__stat-label {\n display: block;\n font-family: var(--font-family-base);\n font-size: var(--stats-v2-label-size);\n font-weight: var(--font-weight-regular);\n line-height: var(--stats-v2-label-lh);\n color: var(--stats-v2-text-primary);\n}\n\n/* ── FADE OVERLAYS ────────────────────────────────────────── */\n\n.stats-v2__fade {\n position: absolute;\n left: 0;\n right: 0;\n /* 8rem (128px) at every breakpoint — taller than Webflow's\n reference (5–6.75rem) so the above/below stats blend\n further into the card background before the active stat\n takes the eye. Same height for both --top and --bottom. */\n height: 8rem;\n pointer-events: none;\n z-index: 3;\n}\n\n/* Fade-out gradients use the card colour at full opacity at the\n edge and fade to a transparent version of the same colour. */\n.stats-v2__fade--top {\n top: 0;\n background: linear-gradient(180deg,\n var(--stats-v2-card-bg) 0%,\n transparent 100%);\n}\n\n.stats-v2__fade--bottom {\n bottom: 0;\n background: linear-gradient(0deg,\n var(--stats-v2-card-bg) 0%,\n transparent 100%);\n}\n\n/* ── AWARD BADGE (laurel + text) ──────────────────────────── */\n\n.stats-v2__award {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: var(--spacing-8);\n width: 100%;\n max-width: 196px;\n color: var(--stats-v2-text-primary);\n box-sizing: border-box;\n}\n\n.stats-v2__award-text {\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n gap: var(--spacing-4);\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.stats-v2__award-heading {\n font-size: var(--stats-v2-award-heading-size);\n line-height: var(--stats-v2-award-heading-lh);\n font-weight: var(--font-weight-semi-bold);\n color: var(--stats-v2-text-primary);\n}\n\n.stats-v2__award-subheading {\n font-size: var(--stats-v2-award-subheading-size);\n line-height: var(--stats-v2-award-subheading-lh);\n font-weight: var(--font-weight-regular);\n color: var(--stats-v2-text-primary);\n}\n\n.stats-v2__laurel {\n flex-shrink: 0;\n width: 32px;\n height: 84px;\n display: block;\n}\n\n.stats-v2__laurel--flip {\n transform: scaleX(-1);\n}\n\n/* ── AWARD COLUMNS (desktop only) ─────────────────────────── */\n\n.stats-v2__awards-col {\n display: none;\n}\n\n/* ── MOBILE / TABLET AWARDS GRID ──────────────────────────── */\n\n.stats-v2__awards-mobile {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--spacing-16);\n width: 100%;\n max-width: 414px;\n justify-items: center;\n}\n\n/* On very small screens (< 360px) collapse to a single column\n so each badge has the full width and doesn't overflow. */\n@media (max-width: 359px) {\n .stats-v2__awards-mobile {\n grid-template-columns: 1fr;\n }\n}\n\n/* ============================================================\n TABLET ≥768px\n ============================================================ */\n\n@media (min-width: 768px) {\n .stats-v2__header {\n align-items: center;\n text-align: center;\n max-width: var(--content-width-846);\n margin-left: auto;\n margin-right: auto;\n }\n\n .stats-v2__inner {\n gap: var(--spacing-48);\n }\n\n .stats-v2__card {\n /* Webflow `.achievements_slider-component` uses 2.5rem 2.75rem\n padding (40px / 44px). We approximate the horizontal value\n with the same 40px vertical token since the 4px difference\n is imperceptible at this scale. */\n padding: var(--spacing-40);\n /* Tablet bumps the slider heading up to ~76px to match\n Webflow's desktop `.achievements_slider-heading`\n (4.75rem font-size / 5.5rem line-height). The 5xl\n token is the closest design-system match (5rem / 5.5rem). */\n --stats-v2-value-size: var(--font-size-5xl);\n --stats-v2-value-lh: var(--line-height-5xl);\n }\n\n .stats-v2__card-track {\n /* Webflow's wrapper fills card_height - 2*40px padding =\n ~334px (when the card itself is 414×414). The track\n needs to be tall enough that translateY(±110%) of a\n ~104px tall stat doesn't poke past the edges into the\n non-faded zone. 320px gives us comfortable headroom. */\n height: 320px;\n }\n}\n\n/* ============================================================\n DESKTOP ≥992px\n Switches to the 3-column [left | card | right] layout with\n top-aligned left awards and bottom-aligned right awards.\n ============================================================ */\n\n@media (min-width: 992px) {\n .stats-v2__inner {\n padding: var(--spacing-112) var(--spacing-24);\n gap: var(--spacing-48);\n }\n\n .stats-v2__content {\n flex-direction: row;\n align-items: stretch;\n justify-content: center;\n gap: var(--spacing-24);\n }\n\n /* Square 414×414 card — same dimensions as the reference. */\n .stats-v2__card {\n width: 414px;\n max-width: none;\n height: 414px;\n padding: var(--spacing-40);\n flex-shrink: 0;\n }\n\n .stats-v2__card-track {\n height: 334px;\n }\n\n /* Award columns appear; mobile grid hides. Each column matches the\n carousel card height (414px) and stacks its 2 awards with the\n 1.75rem (28px) gap from the Webflow `.achievements_side-block`\n reference. The runtime scroll-driven parallax (see StatsV2.tsx)\n then pushes each column into its final spread position:\n - left column: justify-content: flex-start → drifts down\n - right column: justify-content: flex-end → drifts up */\n .stats-v2__awards-col {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-32);\n width: 196px;\n height: 414px;\n flex-shrink: 0;\n align-items: center;\n /* Both columns centre their badges in the resting layout, so\n that `translateY(0%)` always puts the two stacks at exactly\n the same vertical position — i.e. perfectly parallel. The\n stagger we show at rest is produced by CSS initial\n transforms below (not by flex alignment), and the parallax\n animation interpolates those initial transforms back to\n `translateY(0%)` between PARALLAX_START and PARALLAX_END.\n This makes \"parallax ends\" ≡ \"columns are parallel\",\n independent of badge content height. */\n justify-content: center;\n will-change: transform;\n }\n\n /* Initial (pre-animation) stagger. Kept in sync with\n `PARALLAX_MAX_PERCENT` in StatsV2.tsx — if you change one,\n change the other. */\n .stats-v2__awards-col--left {\n transform: translateY(-26.3%);\n }\n\n .stats-v2__awards-col--right {\n transform: translateY(26.3%);\n }\n\n .stats-v2__awards-mobile {\n display: none;\n }\n}\n","/* ============================================================\n STATS SIMPLE — horizontal grid of value + label pairs\n No carousel, no awards. Matches the reference layout:\n 4 stats in a single row, large bold value, regular label.\n ============================================================ */\n\n:root {\n --stats-simple-bg: transparent;\n --stats-simple-text-primary: var(--text-primary);\n --stats-simple-text-secondary: var(--text-secondary);\n\n --stats-simple-value-size: var(--font-size-4xl);\n --stats-simple-value-lh: var(--line-height-4xl);\n\n --stats-simple-label-size: var(--typography-body-md-font-size);\n --stats-simple-label-lh: var(--typography-body-md-line-height);\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.stats-simple {\n width: 100%;\n background-color: var(--stats-simple-bg);\n font-family: var(--font-family-base);\n box-sizing: border-box;\n}\n\n.stats-simple__inner {\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: var(--spacing-40) var(--spacing-24);\n box-sizing: border-box;\n}\n\n/* ── STAT ITEM ────────────────────────────────────────────── */\n\n.stats-simple__item {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n}\n\n.stats-simple__value {\n font-size: var(--stats-simple-value-size);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--stats-simple-value-lh);\n color: var(--stats-simple-text-primary);\n}\n\n.stats-simple__label {\n font-size: var(--stats-simple-label-size);\n font-weight: var(--font-weight-regular);\n line-height: var(--stats-simple-label-lh);\n color: var(--stats-simple-text-secondary);\n}\n\n/* ============================================================\n TABLET ≥768px — 4-column single row\n ============================================================ */\n\n@media (min-width: 768px) {\n .stats-simple__inner {\n grid-template-columns: repeat(4, 1fr);\n gap: var(--spacing-24);\n padding: var(--spacing-64) var(--spacing-24);\n }\n}\n\n/* ============================================================\n DESKTOP ≥992px\n ============================================================ */\n\n@media (min-width: 992px) {\n .stats-simple__inner {\n padding: var(--spacing-80) var(--spacing-24);\n }\n\n :root {\n --stats-simple-value-size: var(--font-size-4xl);\n --stats-simple-value-lh: var(--line-height-4xl);\n }\n}\n","/* ============================================================\n FEATURE SCROLL COMPONENT\n Token inheritance:\n Primitive (core) → Semantic (--fs-*) → Component styles\n\n Component tokens (--fs-*) defined in :root below:\n\n Colors\n --fs-bg var(--color-slate-50)\n --fs-text-primary var(--color-slate-1200)\n --fs-text-muted var(--color-slate-500)\n --fs-link-color var(--color-coral-700)\n --fs-link-hover var(--color-coral-800)\n --fs-media-bg transparent\n\n Typography — font family\n --fs-font-family var(--font-family-base)\n\n Typography — section header (H2)\n --fs-header-family var(--typography-h2-font-family)\n --fs-header-size var(--typography-h2-font-size) [mobile 2.5rem → desktop 3.5rem]\n --fs-header-weight var(--typography-h2-font-weight) [800]\n --fs-header-lh var(--typography-h2-line-height) [mobile 3rem → desktop 4rem]\n\n Typography — item title (H3)\n --fs-title-family var(--typography-h3-font-family)\n --fs-title-size var(--typography-h3-font-size) [mobile 2rem → desktop 3rem]\n --fs-title-weight var(--typography-h3-font-weight) [800]\n --fs-title-lh var(--typography-h3-line-height) [mobile 2.5rem → desktop 3.5rem]\n\n Typography — body (body-md)\n --fs-body-family var(--typography-body-md-font-family)\n --fs-body-size var(--typography-body-md-font-size) [1rem]\n --fs-body-weight var(--typography-body-md-font-weight) [400]\n --fs-body-lh var(--typography-body-md-line-height) [1.5rem]\n\n Typography — link (link-md)\n --fs-link-family var(--typography-link-md-font-family)\n --fs-link-size var(--typography-link-md-font-size) [1rem]\n --fs-link-weight var(--typography-link-md-font-weight) [600]\n --fs-link-lh var(--typography-link-md-line-height) [1.5rem]\n\n Layout\n --fs-col-gap var(--spacing-112) [7rem = 112px]\n --fs-media-radius var(--radius-2xl) [1.5rem = 24px]\n --fs-mobile-radius var(--radius-2xl) [24px mobile]\n --fs-sticky-top var(--spacing-80) [80px — clears a typical nav]\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────── */\n\n:root {\n /* Colors */\n --fs-bg: var(--color-slate-50);\n --fs-text-primary: var(--text-primary);\n --fs-text-muted: var(--color-slate-500);\n --fs-link-color: var(--color-coral-700);\n --fs-link-hover: var(--color-coral-800);\n --fs-media-bg: transparent;\n\n /* Typography — font family */\n --fs-font-family: var(--font-family-base);\n\n /* Typography — section header (H2) */\n --fs-header-family: var(--typography-h2-font-family);\n --fs-header-size: var(--typography-h2-font-size);\n --fs-header-weight: var(--typography-h2-font-weight);\n --fs-header-lh: var(--typography-h2-line-height);\n\n /* Typography — item title (H3) */\n --fs-title-family: var(--typography-h3-font-family);\n --fs-title-size: var(--typography-h3-font-size);\n --fs-title-weight: var(--typography-h3-font-weight);\n --fs-title-lh: var(--typography-h3-line-height);\n\n /* Typography — body */\n --fs-body-family: var(--typography-body-md-font-family);\n --fs-body-size: var(--typography-body-md-font-size);\n --fs-body-weight: var(--typography-body-md-font-weight);\n --fs-body-lh: var(--typography-body-md-line-height);\n\n /* Typography — link */\n --fs-link-family: var(--typography-link-md-font-family);\n --fs-link-size: var(--typography-link-md-font-size);\n --fs-link-weight: var(--typography-link-md-font-weight);\n --fs-link-lh: var(--typography-link-md-line-height);\n\n /* Layout */\n --fs-col-gap: var(--spacing-112);\n /* 7rem = 112px */\n --fs-media-radius: var(--radius-2xl);\n /* 1.5rem = 24px */\n --fs-mobile-radius: var(--radius-2xl);\n /* 24px on mobile */\n --fs-sticky-top: var(--spacing-80);\n /* 80px — clears a typical nav */\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.fs {\n width: 100%;\n background-color: var(--fs-bg);\n font-family: var(--fs-font-family);\n box-sizing: border-box;\n}\n\n/* ── INNER CONTAINER ──────────────────────────────────────── */\n\n.fs__inner {\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) 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.fs__header {\n font-family: var(--fs-header-family);\n font-size: var(--fs-header-size);\n font-weight: var(--fs-header-weight);\n line-height: var(--fs-header-lh);\n color: var(--fs-text-primary);\n margin: 0;\n}\n\n/* ── DESKTOP TWO-COLUMN LAYOUT — hidden on mobile ─────────── */\n\n.fs__layout {\n display: none;\n}\n\n/* ── MOBILE STACKED LIST — visible on mobile only ─────────── */\n\n.fs__mobile-list {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-48);\n}\n\n.fs__mobile-item {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n/* ── MOBILE MEDIA ─────────────────────────────────────────── */\n\n.fs__mobile-media {\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: var(--fs-mobile-radius);\n background-color: var(--fs-media-bg);\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.fs__mobile-media img,\n.fs__mobile-media > * {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\n}\n\n/* ── SHARED ITEM TEXT ELEMENTS ────────────────────────────── */\n\n.fs__item-title {\n font-family: var(--fs-title-family);\n font-size: var(--fs-title-size);\n font-weight: var(--fs-title-weight);\n line-height: var(--fs-title-lh);\n color: var(--fs-text-primary);\n margin: 0;\n}\n\n.fs__item-desc {\n font-family: var(--fs-body-family);\n font-size: var(--fs-body-size);\n font-weight: var(--fs-body-weight);\n line-height: var(--fs-body-lh);\n color: var(--fs-text-muted);\n margin: 0;\n}\n\n.fs__item-link {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n font-family: var(--fs-link-family);\n font-size: var(--fs-link-size);\n font-weight: var(--fs-link-weight);\n line-height: var(--fs-link-lh);\n color: var(--fs-link-color);\n text-decoration: none;\n transition: color 0.2s ease;\n cursor: pointer;\n}\n\n.fs__item-link:hover {\n color: var(--fs-link-hover);\n}\n\n/* Inline SVG chevron icon */\n.fs__item-link-icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n transition: transform 0.2s ease;\n}\n\n.fs__item-link:hover .fs__item-link-icon {\n transform: translateX(var(--spacing-4));\n}\n\n/* ============================================================\n TABLET ≥768px\n ============================================================ */\n\n@media (min-width: 768px) {\n .fs__inner {\n padding: var(--spacing-56) var(--spacing-24);\n gap: var(--spacing-40);\n }\n}\n\n/* ============================================================\n DESKTOP ≥992px\n ============================================================ */\n\n@media (min-width: 992px) {\n .fs__header {\n text-align: center;\n }\n\n .fs__inner {\n padding: var(--spacing-112) var(--spacing-24);\n gap: var(--spacing-56);\n }\n\n /* ── SHOW DESKTOP LAYOUT, HIDE MOBILE LIST ─────────────── */\n\n .fs__layout {\n display: flex;\n flex-direction: row;\n gap: var(--fs-col-gap);\n align-items: flex-start;\n width: 100%;\n /* Shared with media col + each text step — one viewport band below nav */\n --fs-step-band: calc(100svh - var(--fs-sticky-top));\n }\n\n .fs__mobile-list {\n display: none;\n }\n\n /* ── VARIANT: media-left — reverse column order ─────────── */\n\n .fs--media-left .fs__layout {\n flex-direction: row-reverse;\n }\n\n /* ── MEDIA COLUMN (outer) ─────────────────────────────────\n * Stretches to the full text column height. Sticky lives on\n * .fs__media-sticky so the sticky constraint rectangle's bottom\n * is the section end — not the outer top + one viewport band.\n */\n .fs__media-col {\n flex: 1 0 0;\n min-width: 0;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n }\n\n /* Sticky viewport band under nav; same vertical rhythm as text steps */\n .fs__media-sticky {\n flex: 0 0 auto;\n width: 100%;\n position: sticky;\n top: var(--fs-sticky-top);\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: stretch;\n min-height: var(--fs-step-band);\n box-sizing: border-box;\n }\n\n /* Square media wrapper — crossfade container */\n .fs__media-wrap {\n width: 100%;\n aspect-ratio: 1 / 1;\n position: relative;\n border-radius: var(--fs-media-radius);\n background-color: var(--fs-media-bg);\n overflow: hidden;\n }\n\n /* Each media item stacked absolutely — crossfade via opacity */\n .fs__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 .fs__media-item--active {\n opacity: 1;\n }\n\n /* Image fills the container */\n .fs__media-item img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\n }\n\n /* Lottie player fills the container */\n .fs__media-item > * {\n width: 100% !important;\n height: 100% !important;\n }\n\n /* ── CONTENT COLUMN ───────────────────────────────────────\n * All steps in normal document flow — continuous scroll, every block\n * fully visible. Min-height ≈ one viewport band below nav so scroll\n * rhythm + media line up; steps can grow if copy is long.\n */\n .fs__content-col {\n flex: 1 0 0;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 0;\n }\n\n .fs__item {\n display: flex;\n flex-direction: column;\n justify-content: center;\n flex-shrink: 0;\n margin: 0;\n min-height: var(--fs-step-band);\n gap: var(--spacing-24);\n padding-left: var(--spacing-32);\n box-sizing: border-box;\n }\n}\n","/* ── Section shell ─────────────────────────────────────────── */\n\n.feature-split {\n width: 100%;\n background-color: var(--color-slate-50);\n}\n\n/* ── Inner container ───────────────────────────────────────── */\n\n.feature-split__container {\n display: flex;\n flex-direction: column;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .feature-split__container {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Split layout ──────────────────────────────────────────── */\n\n.feature-split__split {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--spacing-24);\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .feature-split__split {\n flex-direction: row;\n align-items: center;\n gap: 8rem;\n /* 128px — no token at this scale */\n }\n\n /* Reverse column order when image is on the left */\n .feature-split__split--image-left {\n flex-direction: row-reverse;\n }\n}\n\n/* ── Content column ────────────────────────────────────────── */\n\n.feature-split__content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-16);\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .feature-split__content {\n gap: 1.25rem;\n /* 20px — no token at this scale */\n width: 540px;\n flex-shrink: 0;\n }\n}\n\n/* ── Title ─────────────────────────────────────────────────── */\n\n.feature-split__title {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--text-primary);\n margin: 0;\n}\n\n/* ── Description ───────────────────────────────────────────── */\n\n.feature-split__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}\n\n/* ── Image column ──────────────────────────────────────────── */\n\n.feature-split__image-wrapper {\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: var(--radius-2xl);\n /* 24px mobile */\n overflow: hidden;\n flex-shrink: 0;\n position: relative;\n background-color: transparent;\n}\n\n@media (min-width: 992px) {\n .feature-split__image-wrapper {\n flex: 1 0 0;\n width: auto;\n border-radius: 2rem;\n /* 32px desktop — no exact token */\n }\n}\n\n.feature-split__image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\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 --ssc-font-family var(--font-family-base) [Inter, sans-serif]\n\n Section header:\n --ssc-header-color var(--color-slate-1200) [dark text on white bg]\n --ssc-header-size var(--typography-h2-font-size) [mobile 2.5rem → desktop 3.5rem]\n --ssc-header-lh var(--typography-h2-line-height) [mobile 3rem → desktop 4rem]\n --ssc-header-weight var(--typography-h2-font-weight) [800]\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-700) [#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 — card title (H3):\n --ssc-title-size var(--typography-h3-font-size) [mobile 2rem → desktop 3rem]\n --ssc-title-lh var(--typography-h3-line-height) [mobile 2.5rem → desktop 3.5rem]\n --ssc-title-weight var(--typography-h3-font-weight) [800]\n\n Typography — body copy:\n --ssc-body-size var(--typography-body-md-font-size) [1rem]\n --ssc-body-lh var(--typography-body-md-line-height) [1.5rem]\n --ssc-body-weight var(--typography-body-md-font-weight) [400]\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 31.25rem [500px fixed card height]\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 /* Font family */\n --ssc-font-family: var(--font-family-base);\n\n /* Section header color */\n --ssc-header-color: var(--text-primary);\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-700);\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(--typography-h2-font-size);\n --ssc-header-lh: var(--typography-h2-line-height);\n --ssc-header-weight: var(--typography-h2-font-weight);\n\n /* Typography — card title (H3) */\n --ssc-title-size: var(--typography-h3-font-size);\n --ssc-title-lh: var(--typography-h3-line-height);\n --ssc-title-weight: var(--typography-h3-font-weight);\n\n /* Typography — body copy */\n --ssc-body-size: var(--typography-body-md-font-size);\n --ssc-body-lh: var(--typography-body-md-line-height);\n --ssc-body-weight: var(--typography-body-md-font-weight);\n\n /* Layout */\n --ssc-card-radius: var(--radius-2xl);\n /* 24px */\n --ssc-content-gap: var(--spacing-24);\n --ssc-sticky-top: var(--spacing-80);\n /* 80px */\n --ssc-peek-offset: var(--spacing-16);\n /* 16px per card peek */\n --ssc-card-min-height: 31.25rem;\n /* 500px fixed card height — desktop */\n --ssc-img-height-mobile: 21rem;\n /* ~336px mobile */\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.ssc {\n width: 100%;\n background-color: var(--ssc-bg);\n font-family: var(--ssc-font-family);\n box-sizing: border-box;\n}\n\n/* ── INNER CONTAINER ──────────────────────────────────────── */\n\n.ssc__inner {\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) 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(--ssc-header-weight);\n line-height: var(--ssc-header-lh);\n color: var(--ssc-header-color);\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);\n /* 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;\n /* mobile: text on top, image below */\n box-sizing: border-box;\n width: 100%;\n\n /* 16px gap between cards */\n margin-bottom: var(--ssc-peek-offset);\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.ssc__card:last-child {\n margin-bottom: 0;\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(--ssc-title-weight);\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(--ssc-body-weight);\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 background-color: transparent;\n}\n\n.ssc__card-image img {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\n}\n\n/* ============================================================\n TABLET ≥768px\n ============================================================ */\n\n@media (min-width: 768px) {\n .ssc__inner {\n padding: var(--spacing-56) 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-24);\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);\n /* 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-32);\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}","/* ── Layout — Figma-specific dimensions (local to this template) ── */\n\n/*\n * Grid-cell sizing strategy\n * ─────────────────────────\n * --ctab-grid-cell drives both the background grid repeat AND the avatar size.\n * Because --ctab-avatar-size = --ctab-grid-cell, every avatar occupies exactly\n * one grid cell — left and right edges always land on grid lines.\n *\n * Mobile / tablet: fluid calc so the stage width is always an exact integer\n * multiple of the cell. ODD column counts guarantee that the centred avatars\n * (left: calc(50% - avatar/2)) collapse to an integer column (e.g. col 2 of 5),\n * putting both their edges on grid lines too.\n *\n * < 480px → 5 cols → centre col 2\n * 480-767px → 7 cols → centre col 3\n * 768-991px → 11 cols → centre col 5\n *\n * Desktop: fixed 96 px — the stage is max-width 1280 px and background-position\n * is shifted dynamically so grid lines coincide with stage x = 0.\n */\n\n:root {\n --ctab-max-width: var(--content-width-1280);\n /* 11 rows: 1 cell top + 9 cell avatar span + 1 cell bottom = equal spacing */\n --ctab-stage-height: calc(11 * var(--ctab-grid-cell));\n --ctab-hero-max-width: 90%;\n --ctab-avatar-radius: var(--radius-xl);\n /* 5 odd columns, fluid — stage always = 5 × grid-cell */\n --ctab-grid-cell: calc(100vw / 5);\n --ctab-avatar-size: var(--ctab-grid-cell);\n /* Section = stage — breathing room comes from avatar row offsets inside the stage */\n --ctab-section-min-height: var(--ctab-stage-height);\n}\n\n/* ── Mobile Large (480px – 767px) ───────────────────────────── */\n@media (min-width: 480px) and (max-width: 767px) {\n :root {\n --ctab-hero-max-width: 80%;\n /* 7 odd columns — stage always = 7 × grid-cell */\n --ctab-grid-cell: calc(100vw / 7);\n }\n}\n\n/* ── Tablet (768px – 991px) ─────────────────────────────────── */\n@media (min-width: 768px) and (max-width: 991px) {\n :root {\n --ctab-stage-height: 48rem;\n /* 768px */\n --ctab-hero-max-width: 70%;\n --ctab-avatar-radius: var(--radius-2xl);\n /* 11 odd columns — stage always = 11 × grid-cell */\n --ctab-grid-cell: calc(100vw / 11);\n /* section = stage; breathing room comes from avatar row offsets inside the stage */\n --ctab-section-min-height: var(--ctab-stage-height);\n }\n}\n\n/* ── Desktop (992px+) ───────────────────────────────────────── */\n@media (min-width: 992px) {\n :root {\n --ctab-stage-height: 42.5rem;\n /* 680px — compact desktop stage */\n --ctab-hero-max-width: var(--content-width-846);\n --ctab-avatar-radius: var(--radius-2xl);\n --ctab-grid-cell: 6rem;\n /* 96px fixed, no token lookup */\n --ctab-avatar-size: 6rem;\n --ctab-section-min-height: 42.5rem;\n }\n\n /* Default variant — 9-row stage (9 × 96px = 864px).\n * Stage centre = 432px = row 4 centre → hero aligns with mid-left/right avatars.\n * 1-cell breathing room at top (row 1) and bottom (864 − 768 = 96px). */\n .ctab:not(.ctab--compact) {\n --ctab-stage-height: 54rem;\n /* 9 × 96px = 864px */\n --ctab-section-min-height: 54rem;\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(--color-coral-700);\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 /* Fade the grid out on all four edges */\n -webkit-mask-image:\n linear-gradient(to right, transparent 0%, black 20%, black 80%, transparent 100%),\n linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);\n -webkit-mask-composite: destination-in;\n mask-image:\n linear-gradient(to right, transparent 0%, black 20%, black 80%, transparent 100%),\n linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);\n mask-composite: intersect;\n background-image:\n repeating-linear-gradient(to right,\n transparent 0,\n transparent calc(var(--ctab-grid-cell) - 1px),\n var(--color-opacity-white-16) calc(var(--ctab-grid-cell) - 1px),\n var(--color-opacity-white-16) var(--ctab-grid-cell)),\n repeating-linear-gradient(to bottom,\n transparent 0,\n transparent calc(var(--ctab-grid-cell) - 1px),\n var(--color-opacity-white-16) calc(var(--ctab-grid-cell) - 1px),\n var(--color-opacity-white-16) var(--ctab-grid-cell));\n /*\n * Shift the grid so its origin aligns with the stage's top-left corner.\n * Mobile/tablet: inner has 24px horizontal padding, no vertical offset.\n * Desktop: inner is horizontally centred (max-width 80rem) and the\n * stage is vertically centred inside the taller section.\n */\n /*\n * Y is shifted back by (cell − 1px) so the repeating-gradient's first\n * white band lands exactly at y = 0 (top edge of the section).\n * Without this, the first horizontal line appears at y = cell − 1,\n * leaving the topmost row with no top border.\n */\n background-position: 0px calc(1px - var(--ctab-grid-cell));\n}\n\n@media (min-width: 992px) {\n .ctab__grid {\n /*\n * X: clamp at 0 — below max-width the inner fills the viewport (no\n * margin), so the grid origin stays at section x = 0. Above max-width\n * the inner is centred so we shift by the margin amount.\n * Y: same (cell − 1px) shift so a line appears at the top edge.\n */\n background-position:\n max(0px, calc((100vw - var(--ctab-max-width)) / 2)) calc(1px - 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 padding: 0 var(--spacing-24);\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .ctab__inner {\n padding: 0;\n }\n}\n\n/* ── STAGE — avatar coordinate space ─────────────────────────── */\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(--spacing-16);\n width: var(--ctab-hero-max-width);\n max-width: 100%;\n text-align: center;\n padding: var(--spacing-48) 0;\n}\n\n/* ── HEADLINE ────────────────────────────────────────────────── */\n\n.ctab__headline {\n margin: 0;\n font-family: var(--typography-h1-font-family);\n font-size: var(--typography-h1-font-size);\n font-weight: var(--typography-h1-font-weight);\n line-height: var(--typography-h1-line-height);\n color: var(--color-slate-50);\n}\n\n\n/* ── AVATAR ──────────────────────────────────────────────────── */\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(--shadow-md);\n flex-shrink: 0;\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 object-position: center;\n display: block;\n border-radius: var(--ctab-avatar-radius);\n}\n\n/* ── Below desktop — use mobile avatar positions ─────────────── */\n\n@media (max-width: 991px) {\n .ctab__avatar {\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}","/* ── Layout tokens (local to this template) ─────────────────── */\n\n:root {\n --navbar-height: 4rem;\n /* 64px */\n --navbar-max-width: 84rem;\n /* 1344px */\n --navbar-pill-radius: 80px;\n --navbar-dropdown-w: 60rem;\n /* 960px */\n --navbar-dropdown-radius: var(--spacing-32);\n --navbar-z-base: 100;\n --navbar-z-dropdown: 101;\n --navbar-z-drawer: 200;\n --navbar-z-backdrop: 199;\n}\n\n/* ── SECTION ─────────────────────────────────────────────────── */\n\n.navbar {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n z-index: var(--navbar-z-base);\n padding: var(--spacing-16) 0;\n font-family: var(--font-family-base);\n box-sizing: border-box;\n transition: background-color 200ms ease, backdrop-filter 200ms ease, box-shadow 200ms ease;\n}\n\n/* On scroll — pill becomes white, text becomes dark */\n.navbar--dark.navbar--scrolled .navbar__pill,\n.navbar--light.navbar--scrolled .navbar__pill {\n background-color: rgba(255, 255, 255, 0.96);\n backdrop-filter: blur(16px);\n -webkit-backdrop-filter: blur(16px);\n}\n\n.navbar--dark.navbar--scrolled .navbar__nav-item,\n.navbar--light.navbar--scrolled .navbar__nav-item {\n color: var(--color-slate-1200);\n}\n\n.navbar--dark.navbar--scrolled .navbar__nav-item:hover,\n.navbar--light.navbar--scrolled .navbar__nav-item:hover {\n background-color: var(--color-opacity-slate-8);\n}\n\n/* Globe icon: reset to dark since pill is now white */\n.navbar--dark.navbar--scrolled .navbar__pill .navbar__lang-globe {\n filter: none;\n}\n\n/* Language label: match nav item dark text */\n.navbar--dark.navbar--scrolled .navbar__pill .navbar__nav-item {\n color: var(--color-slate-1200);\n}\n\n/* ── BAR — logo | pill | actions ─────────────────────────────── */\n\n.navbar__bar {\n position: relative;\n z-index: 201;\n display: grid;\n grid-template-columns: 1fr auto 1fr;\n align-items: center;\n height: var(--navbar-height);\n padding: 0 var(--spacing-24);\n box-sizing: border-box;\n}\n\n/* ── LOGO ────────────────────────────────────────────────────── */\n\n.navbar__logo {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n text-decoration: none;\n padding-bottom: var(--spacing-4);\n /* optical baseline alignment */\n}\n\n.navbar__logo img {\n height: 2rem;\n /* 32px */\n width: auto;\n display: block;\n}\n\n/* ── NAV CENTER — full-width layer that centres the pill and\n anchors the dropdown relative to the full bar width ────────── */\n\n.navbar__nav-center {\n position: absolute;\n left: var(--spacing-24);\n right: var(--spacing-24);\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n}\n\n.navbar__nav-center>* {\n pointer-events: auto;\n}\n\n/* ── PILL ────────────────────────────────────────────────────── */\n\n.navbar__pill {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n padding: var(--spacing-8);\n border-radius: var(--navbar-pill-radius);\n backdrop-filter: blur(8px);\n -webkit-backdrop-filter: blur(8px);\n box-shadow: var(--shadow-sm);\n transition: background-color 400ms cubic-bezier(.65, 0, .35, 1),\n backdrop-filter 400ms cubic-bezier(.65, 0, .35, 1),\n box-shadow 400ms cubic-bezier(.65, 0, .35, 1);\n}\n\n.navbar--dark .navbar__pill {\n background-color: var(--color-opacity-white-24);\n}\n\n.navbar--light .navbar__pill {\n background-color: var(--color-opacity-white-88);\n}\n\n/* ── NAV GROUP — items inside the pill ───────────────────────── */\n\n.navbar__nav-group {\n display: flex;\n align-items: center;\n padding: 0;\n}\n\n/* ── NAV ITEM — each pill button ─────────────────────────────── */\n\n.navbar__nav-item {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n padding: var(--spacing-8) var(--spacing-12);\n height: 2.5rem;\n /* 40px */\n border: none;\n border-radius: var(--radius-full);\n background: transparent;\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 white-space: nowrap;\n text-decoration: none;\n cursor: pointer;\n transition: background-color 140ms ease;\n box-sizing: border-box;\n}\n\n.navbar--dark .navbar__nav-item {\n color: var(--color-slate-50);\n}\n\n.navbar--light .navbar__nav-item {\n color: var(--color-slate-1200);\n}\n\n.navbar--dark .navbar__nav-item:hover,\n.navbar--dark .navbar__nav-item--open {\n background-color: var(--color-opacity-white-8);\n}\n\n.navbar--light .navbar__nav-item:hover,\n.navbar--light .navbar__nav-item--open {\n background-color: var(--color-opacity-slate-8);\n}\n\n/* ── NAV ITEM CHEVRON ────────────────────────────────────────── */\n\n.navbar__nav-item__chevron {\n flex-shrink: 0;\n transition: transform 200ms ease;\n}\n\n.navbar__nav-item--open .navbar__nav-item__chevron {\n transform: rotate(180deg);\n}\n\n/* ── LANGUAGE BUTTON ─────────────────────────────────────────── */\n\n/* Shares all styles with .navbar__nav-item — only globe icon filter needed here */\n.navbar--dark .navbar__pill .navbar__lang-globe {\n filter: brightness(0) invert(1);\n}\n\n/* ── LANGUAGE DROPDOWN WRAPPER ───────────────────────────────── */\n\n.navbar__lang-wrapper {\n position: relative;\n}\n\n/* ── LANGUAGE DROPDOWN (desktop) ─────────────────────────────── */\n\n.navbar__lang-dropdown {\n position: absolute;\n top: calc(100% + var(--spacing-8));\n left: calc(50% - 352px);\n width: 704px;\n background-color: var(--color-slate-50);\n border: 1px solid var(--color-slate-100);\n border-radius: var(--navbar-dropdown-radius);\n box-shadow:\n 0px 8px 16px 2px rgba(0, 0, 0, 0.04),\n 0px -14px 16px 2px rgba(0, 0, 0, 0.02);\n padding: var(--spacing-24) var(--spacing-32);\n z-index: var(--navbar-z-dropdown);\n box-sizing: border-box;\n overflow: hidden;\n}\n\n.navbar__lang-dropdown-grid {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n grid-auto-flow: column;\n grid-template-rows: repeat(var(--lang-rows, 7), auto);\n gap: 0;\n}\n\n.navbar__lang-dropdown-item {\n display: block;\n width: 100%;\n padding: var(--spacing-8) 0;\n border: none;\n background: transparent;\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-1200);\n text-align: left;\n cursor: pointer;\n transition: color 120ms ease;\n box-sizing: border-box;\n white-space: nowrap;\n}\n\n.navbar__lang-dropdown-item:hover {\n color: #ff444f;\n}\n\n.navbar__lang-dropdown-item--active {\n color: #ff444f;\n font-weight: var(--font-weight-semi-bold);\n}\n\n/* ── MOBILE DRAWER LANGUAGE PANEL (full-screen slide-in) ─────── */\n\n.navbar__drawer-lang-panel {\n position: absolute;\n inset: 0;\n background-color: var(--color-slate-50);\n display: flex;\n flex-direction: column;\n padding: 0 var(--spacing-24);\n overflow-y: auto;\n z-index: 1;\n}\n\n.navbar__drawer-lang-back {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n width: 2.5rem;\n height: 2.5rem;\n border: none;\n background: transparent;\n color: var(--color-slate-1200);\n cursor: pointer;\n padding: 0;\n margin: var(--spacing-8) 0;\n flex-shrink: 0;\n}\n\n.navbar__drawer-lang-grid {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 0;\n padding: var(--spacing-8) 0 var(--spacing-16);\n}\n\n.navbar__drawer-lang-item {\n display: block;\n width: 100%;\n padding: var(--spacing-12) 0;\n border: 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-md);\n color: var(--color-slate-1200);\n text-align: left;\n cursor: pointer;\n transition: color 120ms ease;\n}\n\n.navbar__drawer-lang-item:hover {\n color: #ff444f;\n}\n\n.navbar__drawer-lang-item--active {\n color: #ff444f;\n font-weight: var(--font-weight-semi-bold);\n}\n\n/* ── ACTIONS — right-side CTA buttons ───────────────────────── */\n\n.navbar__actions {\n grid-column: 3;\n grid-row: 1;\n justify-self: end;\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n}\n\n/* ── PILL LOGO (inside pill) ─────────────────────────────────── */\n\n.navbar__pill-logo {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n text-decoration: none;\n overflow: hidden;\n max-width: 0;\n opacity: 0;\n transition: max-width 400ms cubic-bezier(.65, 0, .35, 1), opacity 300ms cubic-bezier(.65, 0, .35, 1);\n}\n\n.navbar__pill-logo img {\n padding-left: var(--spacing-8);\n padding-bottom: var(--spacing-4);\n}\n\n.navbar__pill-logo img {\n height: 2rem;\n width: auto;\n display: block;\n flex-shrink: 0;\n}\n\n/* ── PILL ACTIONS (inside pill) ──────────────────────────────── */\n\n.navbar__pill-actions {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n flex-shrink: 0;\n overflow: hidden;\n white-space: nowrap;\n max-width: 0;\n opacity: 0;\n transition: max-width 400ms cubic-bezier(.65, 0, .35, 1), opacity 300ms cubic-bezier(.65, 0, .35, 1);\n}\n\n/* ── MOBILE ACTIONS — login + hamburger ─────────────────────── */\n\n.navbar__mobile-actions {\n grid-column: 3;\n grid-row: 1;\n justify-self: end;\n display: none;\n /* shown only below 992px */\n align-items: center;\n gap: var(--spacing-8);\n}\n\n.navbar__mobile-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n border: none;\n background: transparent;\n cursor: pointer;\n padding: 0;\n}\n\n.navbar--dark .navbar__mobile-trigger {\n color: var(--color-slate-50);\n}\n\n.navbar--light .navbar__mobile-trigger {\n color: var(--color-slate-1200);\n}\n\n/* ── DESKTOP DROPDOWN ────────────────────────────────────────── */\n\n.navbar__dropdown {\n position: absolute;\n top: calc(100% + var(--spacing-8));\n left: calc(50% - var(--navbar-dropdown-w) / 2);\n width: var(--navbar-dropdown-w);\n background-color: var(--color-slate-50);\n border: 1px solid var(--color-slate-100);\n border-radius: var(--navbar-dropdown-radius);\n box-shadow:\n 0px 8px 16px 2px rgba(0, 0, 0, 0.04),\n 0px -14px 16px 2px rgba(0, 0, 0, 0.02);\n display: flex;\n overflow: hidden;\n z-index: var(--navbar-z-dropdown);\n}\n\n.navbar__dropdown-inner {\n display: flex;\n flex: 1;\n min-width: 0;\n min-height: 22.8rem;\n overflow: hidden;\n}\n\n.navbar__dropdown-left {\n display: grid;\n grid-template-columns: repeat(2, 12.375rem);\n /* 2 × 198px columns */\n gap: var(--spacing-16) 1.25rem;\n /* 16px row gap, 20px col gap */\n padding: var(--spacing-24) var(--spacing-32);\n flex-shrink: 0;\n align-content: start;\n}\n\n.navbar__dropdown-right {\n flex: 1 0 0;\n /* fills remaining space */\n min-width: 0;\n padding: var(--spacing-8);\n}\n\n/* ── DROPDOWN COLUMN ─────────────────────────────────────────── */\n\n.navbar__dropdown-col {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n flex-shrink: 0;\n width: 12.375rem;\n /* 198px — Figma */\n align-self: start;\n /* don't stretch to column height — hug content */\n}\n\n.navbar__dropdown-col-list {\n display: flex;\n flex-direction: column;\n gap: 0;\n}\n\n.navbar__dropdown-col-title {\n display: block;\n padding: var(--spacing-8) 0;\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-opacity-slate-48);\n margin: 0;\n}\n\n/* ── DROPDOWN LINK ───────────────────────────────────────────── */\n\n.navbar__dropdown-link {\n display: flex;\n align-items: center;\n gap: var(--spacing-4);\n height: 2rem;\n padding: var(--spacing-4) 0;\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-1200);\n text-decoration: none;\n white-space: nowrap;\n transition: color 120ms ease;\n}\n\n.navbar__dropdown-link:hover {\n color: var(--link-coral-color);\n}\n\n.navbar__dropdown-link svg {\n flex-shrink: 0;\n opacity: 0;\n transition: opacity 120ms ease, transform 120ms ease;\n transform: translateX(-4px);\n}\n\n.navbar__dropdown-link:hover svg {\n opacity: 1;\n transform: translateX(0);\n}\n\n/* ── DROPDOWN FEATURE CARD ───────────────────────────────────── */\n\n.navbar__dropdown-feature {\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n gap: var(--spacing-16);\n width: 100%;\n height: 100%;\n border-radius: var(--radius-2xl);\n background-color: var(--color-slate-700);\n background-size: cover;\n background-position: center;\n padding: var(--spacing-24);\n color: var(--color-slate-50);\n overflow: hidden;\n box-sizing: border-box;\n}\n\n.navbar__dropdown-feature-overlay {\n position: absolute;\n inset: 0;\n background: linear-gradient(to bottom, rgba(24, 28, 37, 0) 0%, rgba(24, 28, 37, 0.92) 100%);\n border-radius: var(--radius-2xl);\n pointer-events: none;\n}\n\n.navbar__dropdown-feature-img {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: var(--radius-2xl);\n pointer-events: none;\n}\n\n.navbar__dropdown-feature-content {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n.navbar__dropdown-feature-title {\n margin: 0;\n font-size: var(--font-size-xl);\n /* 28px at desktop */\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--line-height-xl);\n /* 36px at desktop */\n color: var(--color-slate-50);\n}\n\n.navbar__dropdown-feature-desc {\n margin: 0;\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-regular);\n line-height: var(--line-height-md);\n color: var(--color-slate-50);\n}\n\n.navbar__dropdown-feature-cta {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-semi-bold);\n line-height: 1;\n color: var(--color-slate-50);\n text-decoration: none;\n cursor: pointer;\n transition: gap 120ms ease;\n}\n\n.navbar__dropdown-feature-cta:hover {\n gap: var(--spacing-12);\n}\n\n/* ── MOBILE DRAWER ───────────────────────────────────────────── */\n\n/* Clipping wrapper: prevents the drawer from showing above the bar\n during open/close animation */\n.navbar__drawer-clip {\n position: fixed;\n top: var(--navbar-height);\n left: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n z-index: var(--navbar-z-drawer);\n pointer-events: none;\n}\n\n.navbar__drawer {\n position: absolute;\n inset: 0;\n background-color: var(--color-slate-50);\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n font-family: var(--font-family-base);\n box-sizing: border-box;\n pointer-events: all;\n}\n\n/* ── DRAWER HEADER ───────────────────────────────────────────── */\n\n.navbar__drawer-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 4rem;\n padding: 0 var(--spacing-16);\n flex-shrink: 0;\n border-bottom: 1px solid var(--color-slate-100);\n}\n\n.navbar__drawer-logo img {\n height: 2rem;\n width: auto;\n display: block;\n}\n\n.navbar__drawer-close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n border: none;\n background: transparent;\n color: var(--color-slate-1200);\n cursor: pointer;\n padding: 0;\n}\n\n/* ── DRAWER NAV LIST ─────────────────────────────────────────── */\n\n.navbar__drawer-nav {\n display: flex;\n flex-direction: column;\n padding: 0 var(--spacing-24);\n flex: 1;\n}\n\n/* ── DRAWER ACCORDION ITEM ───────────────────────────────────── */\n\n.navbar__drawer-item {\n display: flex;\n flex-direction: column;\n}\n\n.navbar__drawer-trigger {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n height: 3.5rem;\n /* 56px */\n padding: 0;\n border: none;\n border-radius: 0;\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-md);\n color: var(--color-slate-1200);\n text-align: left;\n cursor: pointer;\n}\n\n.navbar__drawer-trigger--open {\n background: transparent;\n}\n\n.navbar__drawer-trigger__chevron {\n flex-shrink: 0;\n color: var(--color-slate-1200);\n transition: transform 200ms ease;\n}\n\n.navbar__drawer-trigger--open .navbar__drawer-trigger__chevron {\n transform: rotate(180deg);\n}\n\n/* ── DRAWER ACCORDION PANEL ──────────────────────────────────── */\n\n.navbar__drawer-panel {\n overflow: hidden;\n}\n\n.navbar__drawer-panel-inner {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n padding: var(--spacing-8) 0 var(--spacing-16);\n background-color: var(--color-slate-50);\n}\n\n.navbar__drawer-panel-cols {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: var(--spacing-16);\n}\n\n.navbar__drawer-panel-col {\n display: flex;\n flex-direction: column;\n}\n\n.navbar__drawer-col-section {\n display: flex;\n flex-direction: column;\n}\n\n.navbar__drawer-col-title {\n display: block;\n padding: var(--spacing-8) 0;\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--line-height-md);\n color: var(--color-opacity-slate-48);\n margin: 0;\n}\n\n.navbar__drawer-col-links {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-4);\n}\n\n.navbar__drawer-link {\n display: block;\n padding: var(--spacing-4) 0;\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-1200);\n text-decoration: none;\n}\n\n/* ── DRAWER FEATURE CARD (mobile) ────────────────────────────── */\n\n.navbar__drawer-feature {\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n gap: var(--spacing-16);\n border-radius: var(--radius-2xl);\n background-color: var(--color-slate-700);\n background-size: cover;\n background-position: center;\n padding: var(--spacing-24);\n color: var(--color-slate-50);\n overflow: hidden;\n min-height: 14.5rem;\n /* 232px — matches Figma mobile feature slot */\n box-sizing: border-box;\n}\n\n.navbar__drawer-feature-overlay {\n position: absolute;\n inset: 0;\n background: linear-gradient(to bottom, rgba(24, 28, 37, 0) 0%, rgba(24, 28, 37, 0.92) 100%);\n pointer-events: none;\n border-radius: var(--radius-2xl);\n}\n\n.navbar__drawer-feature-img {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n pointer-events: none;\n border-radius: var(--radius-2xl);\n}\n\n.navbar__drawer-feature-content {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n.navbar__drawer-feature-title {\n margin: 0;\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}\n\n.navbar__drawer-feature-desc {\n margin: 0;\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.navbar__drawer-feature-cta {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-semi-bold);\n line-height: 1;\n color: var(--color-slate-50);\n text-decoration: none;\n cursor: pointer;\n transition: gap 120ms ease;\n}\n\n.navbar__drawer-feature-cta:hover {\n gap: var(--spacing-12);\n}\n\n/* ── DRAWER SINGLE LINK (external, no dropdown) ──────────────── */\n\n.navbar__drawer-single {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n height: 3.5rem;\n padding: 0;\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-md);\n color: var(--color-slate-1200);\n text-decoration: none;\n}\n\n/* ── DRAWER LANGUAGE BUTTON ──────────────────────────────────── */\n\n.navbar__drawer-lang {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n height: 3.5rem;\n padding: 0;\n border: 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-md);\n color: var(--color-slate-1200);\n cursor: pointer;\n text-align: left;\n}\n\n/* ── DRAWER FOOTER BUTTONS ───────────────────────────────────── */\n\n.navbar__drawer-footer {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n padding: var(--spacing-24);\n flex-shrink: 0;\n}\n\n/* ── RESPONSIVE ─────────────────────────────────────────────── */\n\n/* Desktop — hide outer logo and actions only when scrolled (inner pill versions take over) */\n@media (min-width: 992px) {\n\n .navbar__logo,\n .navbar__actions {\n transition: opacity 400ms cubic-bezier(.65, 0, .35, 1), transform 400ms cubic-bezier(.65, 0, .35, 1);\n }\n\n .navbar--scrolled .navbar__logo,\n .navbar--scrolled .navbar__actions {\n opacity: 0;\n pointer-events: none;\n transform: translateY(-12px);\n }\n\n /* Fade in logo */\n .navbar--scrolled .navbar__pill-logo {\n max-width: 200px;\n opacity: 1;\n }\n\n /* Fade in actions */\n .navbar--scrolled .navbar__pill-actions {\n max-width: 400px;\n opacity: 1;\n }\n}\n\n/* Desktop only */\n@media (min-width: 992px) {\n .navbar__mobile-actions {\n display: none;\n }\n\n .navbar__drawer-clip,\n .navbar__drawer {\n display: none !important;\n }\n}\n\n/* Hide login button before it overlaps with the pill */\n@media (max-width: 1200px) {\n .navbar__actions-login {\n display: none;\n }\n}\n\n/* Mobile / tablet */\n@media (max-width: 991px) {\n .navbar {\n padding-top: 0;\n padding-bottom: 0;\n transition: background-color 400ms cubic-bezier(.65, 0, .35, 1),\n box-shadow 400ms cubic-bezier(.65, 0, .35, 1);\n }\n\n .navbar--scrolled {\n background-color: rgba(255, 255, 255, 0.96);\n backdrop-filter: blur(16px);\n -webkit-backdrop-filter: blur(16px);\n box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.08);\n }\n\n .navbar--scrolled .navbar__mobile-trigger {\n color: var(--color-slate-1200);\n }\n\n .navbar--menu-open,\n .navbar--menu-open .navbar__bar {\n background-color: var(--color-slate-50);\n }\n\n .navbar--menu-open .navbar__mobile-trigger {\n color: var(--color-slate-1200);\n }\n\n .navbar__nav-center,\n .navbar__actions {\n display: none;\n }\n\n .navbar__mobile-actions {\n display: flex;\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:\n Default: --typography-h2-* (H2 scale).\n `.dnt--headline-h1`: --typography-h1-* for home-style heroes (same token set as other H1s).\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-700) [#ff444f]\n --dnt-btn-bg-hover var(--color-coral-800) [#e12e3a]\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 — mobile / tablet text cap]\n --dnt-content-py var(--spacing-56) [3.5rem = 56px mobile]\n --dnt-content-px var(--spacing-16) [1rem = 16px mobile]\n Desktop overrides at 992px:\n --dnt-content-max-width calc(80rem - 2 * var(--spacing-24)) [1232px @ 16px — 1280 inner − gutters]\n --dnt-content-py var(--spacing-112) [7rem = 112px]\n --dnt-content-px var(--spacing-24) [1.5rem = 24px]\n\n Gap:\n --dnt-gap var(--spacing-16) [1rem]\n\n Description:\n Default: --dnt-desc-* → `--typography-body-md-*`.\n `.dnt--desc-body-lg`: `--typography-body-lg-*`.\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────────── */\n\n:root {\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-700);\n --dnt-btn-bg-hover: var(--color-coral-800);\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-text-max-width: 37.5rem;\n /* 600px — left-column cap from Figma (not a content-width token — component-specific) */\n --dnt-content-py: var(--spacing-56);\n /* 3.5rem = 56px */\n --dnt-content-px: var(--spacing-16);\n /* 1rem = 16px */\n\n /* Description */\n --dnt-desc-size: var(--typography-body-md-font-size);\n --dnt-desc-lh: var(--typography-body-md-line-height);\n --dnt-desc-weight: var(--typography-body-md-font-weight);\n\n /* Gap between headline and button */\n --dnt-gap: var(--spacing-16);\n}\n\n/* Desktop — match standard section inner width (80rem max − spacing-24 gutters) */\n@media (min-width: 992px) {\n :root {\n --dnt-content-py: var(--spacing-112);\n /* 7rem = 112px */\n --dnt-content-px: var(--spacing-24);\n /* 1.5rem = 24px */\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/* Webflow `.trade-day-night_content { height: 200vh }` scroll driver. */\n.dnt--webflow-v2 {\n --dnt-wrapper-height: 200vh;\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: bottom;\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/* ── Webflow V2: `.trade-day-night_background-wrapper` + day + night layers ─ */\n\n.dnt__v2-background-wrapper {\n z-index: -1;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n pointer-events: none;\n}\n\n/*\n * Mirrors `webflow-components-cf572b.webflow.css`:\n * `.trade-day-night_background-day` then `.trade-day-night_background-night`\n * (two backgrounds — `trade_day` / `trade_night` URLs in React `backgroundImage`).\n */\n.dnt__v2-bg-day {\n z-index: 1;\n opacity: 1;\n width: 100%;\n box-sizing: border-box;\n position: relative;\n top: 0;\n left: 0;\n right: 0;\n background-repeat: no-repeat;\n background-size: cover;\n background-position: 100% 100%;\n overflow: hidden;\n}\n\n.dnt__v2-bg-night {\n z-index: 0;\n width: 100%;\n height: 100vh;\n margin-top: -100vh;\n position: sticky;\n top: 0;\n left: 0;\n right: 0;\n box-sizing: border-box;\n background-repeat: no-repeat;\n background-size: cover;\n background-position: 100% 100%;\n}\n\n.dnt--webflow-v2 .dnt__v2-bg-day,\n.dnt--webflow-v2 .dnt__v2-bg-night {\n background-attachment: fixed;\n}\n\n/* Sticky copy sits above the z-index:-1 background wrapper (Webflow `.trade-day-night_content-wrapper`). */\n.dnt__sticky--webflow-v2 {\n z-index: 0;\n}\n\n/* Webflow `.trade-day-night_content-wrapper`: column + viewport height */\n.dnt--webflow-v2 .dnt__sticky--webflow-v2 {\n height: 100dvh;\n min-height: 100vh;\n}\n\n/* ── Webflow V2 mobile / small breakpoints (`webflow-components-cf572b.webflow.css`) ─ */\n\n@media screen and (max-width: 991px) {\n .dnt--webflow-v2 .dnt__v2-bg-day {\n position: sticky;\n top: 0;\n background-position: 30% 0;\n background-repeat: repeat;\n background-size: auto 100vh;\n }\n\n .dnt--webflow-v2 .dnt__v2-bg-night {\n background-position: 30% 0;\n background-repeat: repeat;\n background-size: auto 100vh;\n }\n\n .dnt--webflow-v2 .dnt__sticky--webflow-v2 .dnt__content {\n flex-flow: column nowrap;\n justify-content: flex-start;\n align-items: flex-start;\n padding: var(--spacing-112) var(--dnt-content-px) var(--dnt-content-py) var(--dnt-content-px);\n }\n\n .dnt--webflow-v2 .dnt__text-wrap {\n max-width: 100%;\n width: 100%;\n }\n\n .dnt--webflow-v2 .dnt__headline--inline-day-night {\n width: 60%;\n }\n}\n\n@media screen and (max-width: 767px) {\n .dnt--webflow-v2 .dnt__headline--inline-day-night {\n width: 80%;\n }\n}\n\n@media screen and (max-width: 479px) {\n .dnt--webflow-v2 .dnt__v2-bg-day {\n background-position: 40% 0;\n }\n\n .dnt--webflow-v2 .dnt__v2-bg-night {\n background-position: 40% 0;\n }\n\n .dnt--webflow-v2 .dnt__sticky--webflow-v2 .dnt__content {\n padding: var(--spacing-80) var(--dnt-content-px) var(--dnt-content-py) var(--dnt-content-px);\n }\n\n .dnt--layout-v2 .dnt__inner {\n padding-left: var(--spacing-16);\n padding-right: var(--spacing-16);\n }\n\n /* `.trade-day-night_title.new-heading-style-h1` */\n .dnt--webflow-v2.dnt--headline-h1 .dnt__headline {\n font-size: 3.5rem;\n line-height: 4rem;\n }\n\n /* `.trade-day-night_description.margin-small.margin-top` → margin-top: 0 */\n .dnt--webflow-v2 .dnt__description {\n margin-top: 0;\n }\n}\n\n/* ── CONTENT ──────────────────────────────────────────────────── */\n\n.dnt__content {\n position: relative;\n z-index: 2;\n display: flex;\n align-items: flex-start;\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;\n }\n}\n\n/* ── INNER CONTAINER — 1280px centred ────────────────────────── */\n\n.dnt__inner {\n width: 100%;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n box-sizing: border-box;\n}\n\n/* Webflow DayNightTransitionV2 `.container` max-width (not a global token). */\n.dnt--layout-v2 .dnt__inner {\n max-width: 83rem;\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-text-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(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n /* color inherited from .dnt__text-wrap (Framer Motion inline style) */\n}\n\n/* “Trade all ” + day / night (Webflow headline DOM pattern; margins mirror embed script). */\n.dnt__headline--inline-day-night {\n display: block;\n}\n\n.dnt__headline-prefix {\n white-space: pre;\n}\n\n.dnt__headline-pair {\n display: inline-block;\n position: relative;\n vertical-align: bottom;\n}\n\n.dnt__headline-wday,\n.dnt__headline-wnight {\n display: inline-block;\n}\n\n.dnt__headline-wnight {\n vertical-align: bottom;\n}\n\n/* Home hero scale — uses global H1 typography tokens (no new font tokens). */\n.dnt--headline-h1 .dnt__headline {\n font-family: var(--typography-h1-font-family);\n font-size: var(--typography-h1-font-size);\n font-weight: var(--typography-h1-font-weight);\n line-height: var(--typography-h1-line-height);\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/* Marketing body — uses global body-lg typography tokens. */\n.dnt--desc-body-lg .dnt__description {\n font-family: var(--typography-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--typography-body-lg-font-weight);\n line-height: var(--typography-body-lg-line-height);\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 width: auto;\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/* Mobile: button fills the full width of the text column */\n@media screen and (max-width: 991px) {\n .dnt__btn {\n width: 100%;\n align-self: stretch;\n }\n}","/* ============================================================\n LOGO MARQUEE COMPONENT\n Token inheritance:\n Primitive (core) → Semantic (--lm-*) → Component styles\n\n Semantic tokens used:\n\n Section:\n --lm-bg var(--color-slate-1200) [#181c25]\n --lm-section-py var(--spacing-112) [7rem = 112px]\n --lm-section-px var(--spacing-24) [1.5rem = 24px]\n --lm-section-height 50rem [800px desktop]\n --lm-max-width 80rem [1280px]\n\n Content gap (media ↔ text):\n --lm-layout-gap 8rem [128px — Figma exact]\n\n Card:\n --lm-card-bg var(--color-slate-1000) [dark card bg behind logo images]\n --lm-card-radius var(--radius-xl) [1rem = 16px desktop]\n --lm-card-radius-mobile var(--radius-2xl) [1.5rem ≈ 24px mobile]\n --lm-card-px var(--spacing-16) [~15px desktop]\n --lm-card-py var(--spacing-24) [~20px desktop]\n --lm-card-px-mobile var(--spacing-12) [12px mobile]\n --lm-card-py-mobile var(--spacing-12) [12px mobile]\n --lm-card-img-h var(--spacing-112) [7rem = 112px — logo area]\n --lm-card-img-h-mobile 5.375rem [86px — no exact token]\n Logo images: max 90% of card W/H, object-fit contain, centred in .lm__card-img-wrap\n\n Column gap (between cards vertically):\n --lm-card-gap var(--spacing-16) [1rem = 16px]\n\n Columns gap (between col1 and col2 horizontally):\n --lm-col-gap var(--spacing-16) [1rem = 16px]\n\n Carousel:\n --lm-carousel-height 39.375rem [630px desktop]\n --lm-carousel-height-mob 20.5rem [328px mobile]\n --lm-fade-height var(--spacing-64) [4rem = 64px]\n\n Typography — headline:\n --lm-headline-size var(--typography-h2-font-size)\n mobile 2.5rem → tablet 3rem → desktop 3.5rem (56px)\n --lm-headline-lh var(--typography-h2-line-height)\n mobile 3rem → tablet 3.5rem → desktop 4rem (64px)\n --lm-headline-color var(--color-slate-50) [white]\n --lm-headline-weight var(--typography-h2-font-weight) [800]\n\n Typography — body:\n --lm-body-size var(--typography-body-md-font-size) [1rem = 16px]\n --lm-body-lh var(--typography-body-md-line-height) [1.5rem = 24px]\n --lm-body-color var(--color-slate-50)\n --lm-body-weight var(--typography-body-md-font-weight)\n\n Typography — disclaimer:\n --lm-disc-size var(--typography-body-sm-font-size) [0.875rem = 14px]\n --lm-disc-lh var(--typography-body-sm-line-height) [1.5rem]\n --lm-disc-color var(--color-slate-400) [#bfc6cc ≈ #b1b4bc]\n --lm-disc-weight var(--typography-body-sm-font-weight)\n\n CTA link:\n --lm-link-color var(--color-coral-700) [#ff444f]\n --lm-link-size var(--typography-link-md-font-size) [1rem]\n --lm-link-weight var(--typography-link-md-font-weight) [600]\n\n Text-area width (desktop):\n --lm-text-width 32.625rem [522px]\n\n Animation — scroll-driven opposing columns:\n --lm-col-travel 7.5rem [120px up/down]\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────────── */\n\n:root {\n /* Section */\n --lm-bg: var(--color-slate-1200);\n --lm-section-py: var(--spacing-112);\n --lm-section-px: var(--spacing-24);\n --lm-section-height: 50rem;\n --lm-max-width: var(--content-width-1280);\n --lm-layout-gap: var(--spacing-112);\n /* 7rem = 112px — closest to Figma 128px */\n\n /* Card */\n --lm-card-bg: var(--color-slate-1000);\n --lm-card-radius: var(--radius-xl);\n --lm-card-radius-mobile: var(--radius-2xl);\n --lm-card-px: var(--spacing-16);\n --lm-card-py: var(--spacing-24);\n --lm-card-px-mobile: var(--spacing-12);\n --lm-card-py-mobile: var(--spacing-12);\n --lm-card-img-h: var(--spacing-112);\n /* 7rem = 112px — closest to 128px */\n --lm-card-img-h-mobile: 5.375rem;\n\n /* Column */\n --lm-card-gap: var(--spacing-16);\n --lm-col-gap: var(--spacing-16);\n\n /* Carousel */\n --lm-carousel-height: 39.375rem;\n --lm-carousel-height-mob: 20.5rem;\n --lm-fade-height: var(--spacing-64);\n\n /* Headline */\n --lm-headline-size: var(--typography-h2-font-size);\n --lm-headline-lh: var(--typography-h2-line-height);\n --lm-headline-color: var(--color-slate-50);\n --lm-headline-weight: var(--typography-h2-font-weight);\n\n /* Body */\n --lm-body-size: var(--typography-body-md-font-size);\n --lm-body-lh: var(--typography-body-md-line-height);\n --lm-body-color: var(--color-slate-50);\n --lm-body-weight: var(--typography-body-md-font-weight);\n\n /* Disclaimer */\n --lm-disc-size: var(--typography-body-sm-font-size);\n --lm-disc-lh: var(--typography-body-sm-line-height);\n --lm-disc-color: var(--color-slate-400);\n --lm-disc-weight: var(--typography-body-sm-font-weight);\n\n /* CTA link */\n --lm-link-color: var(--color-coral-700);\n --lm-link-size: var(--typography-link-md-font-size);\n --lm-link-weight: var(--typography-link-md-font-weight);\n\n /* Text-area */\n --lm-text-width: 32.625rem;\n\n /* Mobile overrides */\n --lm-section-py-mobile: var(--spacing-56);\n --lm-section-px-mobile: var(--spacing-16);\n}\n\n/* ── SECTION ─────────────────────────────────────────────────── */\n\n.lm {\n position: relative;\n width: 100%;\n background-color: var(--lm-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.lm__inner {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n align-items: flex-start;\n max-width: var(--lm-max-width);\n margin: 0 auto;\n padding: var(--lm-section-py-mobile) var(--lm-section-px-mobile);\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .lm__inner {\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: var(--lm-layout-gap);\n padding: var(--lm-section-py) var(--lm-section-px);\n min-height: var(--lm-section-height);\n }\n}\n\n/* ── TEXT CONTENT ────────────────────────────────────────────── */\n\n.lm__content {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n align-items: flex-start;\n width: 100%;\n order: 1;\n /* text first on mobile */\n}\n\n@media (min-width: 992px) {\n .lm__content {\n flex-shrink: 0;\n width: var(--lm-text-width);\n order: 2;\n /* text second (right) on desktop */\n }\n}\n\n/* ── HEADLINE ────────────────────────────────────────────────── */\n\n.lm__headline {\n margin: 0;\n font-family: var(--font-family-base);\n font-size: var(--lm-headline-size);\n font-weight: var(--lm-headline-weight);\n line-height: var(--lm-headline-lh);\n color: var(--lm-headline-color);\n}\n\n/* ── BODY + DISCLAIMER wrapper ───────────────────────────────── */\n\n.lm__text-group {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n/* ── BODY ────────────────────────────────────────────────────── */\n\n.lm__body {\n margin: 0;\n font-family: var(--font-family-base);\n font-size: var(--lm-body-size);\n font-weight: var(--lm-body-weight);\n line-height: var(--lm-body-lh);\n color: var(--lm-body-color);\n}\n\n/* ── DISCLAIMER ──────────────────────────────────────────────── */\n\n.lm__disclaimer {\n margin: 0;\n font-family: var(--font-family-base);\n font-size: var(--lm-disc-size);\n font-weight: var(--lm-disc-weight);\n line-height: var(--lm-disc-lh);\n color: var(--lm-disc-color);\n}\n\n/* ── CTA LINK ────────────────────────────────────────────────── */\n\n.lm__link {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n font-family: var(--typography-link-md-font-family);\n font-size: var(--lm-link-size);\n font-weight: var(--lm-link-weight);\n line-height: var(--typography-link-md-line-height);\n color: var(--lm-link-color);\n text-decoration: none;\n cursor: pointer;\n white-space: nowrap;\n transition: color 0.2s ease;\n}\n\n.lm__link:hover {\n color: var(--color-coral-800);\n}\n\n.lm__link-icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n transition: transform 0.2s ease;\n}\n\n.lm__link:hover .lm__link-icon {\n transform: translateX(var(--spacing-4));\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.lm__media {\n position: relative;\n width: 100%;\n order: 2;\n /* media second on mobile */\n flex-shrink: 0;\n}\n\n@media (min-width: 992px) {\n .lm__media {\n flex: 1 0 0;\n min-width: 0;\n order: 1;\n /* 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.lm__carousel {\n position: relative;\n display: flex;\n align-items: flex-start;\n gap: var(--lm-col-gap);\n height: var(--lm-carousel-height-mob);\n overflow: hidden;\n}\n\n@media (min-width: 992px) {\n .lm__carousel {\n height: var(--lm-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(--lm-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.lm__fade {\n position: absolute;\n left: 0;\n right: 0;\n height: var(--lm-fade-height);\n pointer-events: none;\n z-index: 2;\n}\n\n.lm__fade--top {\n top: 0;\n background: linear-gradient(to bottom,\n var(--lm-bg) 0%,\n rgba(0, 0, 0, 0) 100%);\n}\n\n.lm__fade--bottom {\n bottom: 0;\n background: linear-gradient(to top,\n var(--lm-bg) 0%,\n rgba(0, 0, 0, 0) 100%);\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.lm__col {\n flex: 1 0 0;\n align-self: flex-start;\n /* MUST stay flex-start — prevents stretching to carousel height */\n display: flex;\n flex-direction: column;\n gap: var(--lm-card-gap);\n min-width: 0;\n will-change: transform;\n /* promote to compositor layer for smooth GPU translation */\n}\n\n/* ── CARD ────────────────────────────────────────────────────── */\n\n.lm__card {\n flex-shrink: 0;\n background-color: var(--lm-card-bg);\n border-radius: var(--lm-card-radius-mobile);\n aspect-ratio: 4 / 3;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 100%;\n overflow: hidden;\n}\n\n@media (min-width: 992px) {\n .lm__card {\n border-radius: var(--lm-card-radius);\n }\n}\n\n/* ── CARD IMAGE ──────────────────────────────────────────────── */\n\n.lm__card-img-wrap {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n}\n\n.lm__card-img-wrap img {\n max-width: 90%;\n max-height: 90%;\n width: auto;\n height: auto;\n object-fit: contain;\n object-position: center;\n display: block;\n}","/* ============================================================\n DOWNLOAD BADGE PRIMITIVE\n Token inheritance:\n Primitive (core) → Semantic (--download-badge-*) → Component styles\n\n A clickable platform download badge — pill-shaped container\n (white + border for light, slate-1200 fill for dark) with the\n platform SVG artwork centred inside.\n\n Follows the same sizing conventions as the Button primitive:\n height → var(--spacing-48)\n radius → var(--radius-full)\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────── */\n\n:root {\n --download-badge-height: var(--spacing-48);\n --download-badge-radius: var(--radius-full);\n --download-badge-padding-x: var(--spacing-16);\n --download-badge-transition: opacity 100ms ease, box-shadow 100ms ease;\n --download-badge-focus-color: var(--color-blue-600);\n\n /* Light variant — slate-50 = #ffffff */\n --download-badge-light-bg: var(--color-slate-50);\n --download-badge-light-border: 1px solid var(--color-slate-1200);\n\n /* Dark variant — slate-800 sits one layer above slate-1200 on dark backgrounds */\n --download-badge-dark-bg: var(--color-slate-800);\n --download-badge-dark-border: 1px solid transparent;\n\n /* Inner artwork height */\n --download-badge-img-height: var(--spacing-32);\n}\n\n/* ── BADGE LINK (pill container) ──────────────────────────── */\n\n.download-badge {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--download-badge-height);\n padding: 0 var(--download-badge-padding-x);\n border-radius: var(--download-badge-radius);\n box-sizing: border-box;\n text-decoration: none;\n cursor: pointer;\n outline: none;\n flex-shrink: 0;\n transition: var(--download-badge-transition);\n}\n\n/* Light (default) — white pill with dark border */\n.download-badge--light {\n background: var(--download-badge-light-bg);\n border: var(--download-badge-light-border);\n}\n\n/* Dark — slate-1200 filled pill */\n.download-badge--dark {\n background: var(--download-badge-dark-bg);\n border: var(--download-badge-dark-border);\n}\n\n/* ── STATES ───────────────────────────────────────────────── */\n\n.download-badge:hover {\n opacity: 0.85;\n}\n\n.download-badge:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: calc(-1 * var(--spacing-2));\n border-radius: var(--download-badge-radius);\n border: var(--spacing-2) solid var(--download-badge-focus-color);\n pointer-events: none;\n}\n\n/* ── BADGE IMAGE (artwork only, no pill) ──────────────────── */\n\n.download-badge__img {\n height: var(--download-badge-img-height);\n width: auto;\n display: block;\n pointer-events: none;\n}","/* ============================================================\n STEPS TEMPLATE\n Token inheritance:\n Primitive (core) → Semantic (--steps-*) → Component styles\n\n Layout: two-column split — image (left or right) + numbered\n steps list. On mobile the image stacks above the content.\n\n Semantic tokens:\n --steps-bg var(--color-slate-50)\n --steps-title-color var(--color-slate-1200)\n --steps-number-color var(--color-coral-700)\n --steps-item-title-color var(--color-slate-1200)\n --steps-item-desc-color var(--color-slate-600)\n --steps-divider-color var(--color-slate-200)\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────── */\n\n:root {\n --steps-bg: var(--color-slate-50);\n --steps-title-color: var(--text-primary);\n --steps-number-color: var(--color-coral-700);\n --steps-item-title-color: var(--text-primary);\n --steps-item-desc-color: var(--color-slate-600);\n --steps-divider-color: var(--color-slate-200);\n}\n\n/* ── SECTION SHELL ────────────────────────────────────────── */\n\n.steps {\n width: 100%;\n background-color: var(--steps-bg);\n font-family: var(--font-family-base);\n box-sizing: border-box;\n}\n\n/* ── INNER CONTAINER ──────────────────────────────────────── */\n\n.steps__container {\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-40);\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .steps__container {\n flex-direction: row;\n align-items: center;\n gap: var(--spacing-96);\n padding: var(--spacing-112) var(--spacing-24);\n }\n\n .steps__container--image-right {\n flex-direction: row-reverse;\n }\n}\n\n/* ── IMAGE COLUMN ─────────────────────────────────────────── */\n\n.steps__image-wrapper {\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: var(--radius-2xl);\n overflow: hidden;\n flex-shrink: 0;\n background-color: transparent;\n}\n\n@media (min-width: 992px) {\n .steps__image-wrapper {\n flex: 1 0 0;\n width: auto;\n }\n}\n\n.steps__image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\n}\n\n/* ── CONTENT COLUMN ───────────────────────────────────────── */\n\n.steps__content {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .steps__content {\n flex: 1 0 0;\n width: auto;\n }\n}\n\n/* ── SECTION TITLE ────────────────────────────────────────── */\n\n.steps__title {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--steps-title-color);\n margin: 0;\n}\n\n/* ── STEPS LIST ───────────────────────────────────────────── */\n\n.steps__list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n/* ── STEP ITEM ────────────────────────────────────────────── */\n\n.steps__item {\n border-bottom: 1px solid var(--steps-divider-color);\n}\n\n.steps__item:last-child {\n border-bottom: none;\n}\n\n/* ── STEP ITEM INNER ──────────────────────────────────────── */\n\n.steps__item-inner {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n gap: var(--spacing-16);\n padding: var(--spacing-16) 0;\n}\n\n/* ── STEP NUMBER ──────────────────────────────────────────── */\n\n.steps__number {\n font-family: var(--font-family-base);\n font-size: var(--typography-h5-font-size);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--typography-h5-line-height);\n color: var(--steps-number-color);\n flex-shrink: 0;\n min-width: var(--spacing-16);\n padding-top: 2px;\n}\n\n/* ── STEP BODY ────────────────────────────────────────────── */\n\n.steps__item-body {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-4);\n}\n\n/* ── STEP ITEM TITLE ──────────────────────────────────────── */\n\n.steps__item-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(--steps-item-title-color);\n margin: 0;\n}\n\n/* ── STEP ITEM DESCRIPTION ────────────────────────────────── */\n\n.steps__item-description {\n font-family: var(--font-family-base);\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(--steps-item-desc-color);\n margin: 0;\n}","/* ============================================================\n DOWNLOAD BANNER TEMPLATE\n Token inheritance:\n Primitive (core) → Semantic (--db-*) → Component styles\n\n Layout:\n Mobile — vertical stack: heading → badge grid (2-col, full-width)\n Desktop — horizontal split: QR block (left) | badge grid (right)\n\n Style variants:\n light → slate-100 outer, white card\n light-2 → slate-50 outer, slate-75 card (default)\n dark → white outer, slate-1200 card\n\n Semantic tokens:\n --db-section-bg-light var(--color-slate-100)\n --db-section-bg-light-2 var(--background-surface) [slate-50 #FFFFFF]\n --db-section-bg-dark var(--color-slate-50)\n --db-card-bg-light var(--color-slate-50)\n --db-card-bg-light-2 var(--background-surface-secondary) [slate-75 #F6F7F8]\n --db-card-bg-dark var(--color-slate-1200)\n --db-title-color-light var(--color-slate-1200)\n --db-title-color-dark var(--color-slate-50)\n --db-subtitle-color-light var(--color-slate-1200)\n --db-subtitle-color-dark var(--color-slate-50)\n --db-disclaimer-color-light var(--color-slate-500)\n --db-disclaimer-color-dark var(--color-slate-500)\n --db-card-radius var(--radius-2xl)\n\n Badge pill styles are owned by the DownloadBadge primitive.\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────── */\n\n:root {\n --db-section-bg-light: var(--color-slate-100);\n --db-section-bg-light-2: var(--background-surface); /* slate-50 #FFFFFF */\n --db-section-bg-dark: var(--color-slate-50);\n\n --db-card-bg-light: var(--color-slate-50);\n --db-card-bg-light-2: var(--background-surface-secondary); /* slate-75 #F6F7F8 */\n --db-card-bg-dark: var(--color-slate-1200);\n\n --db-title-color-light: var(--text-primary);\n --db-title-color-dark: var(--color-slate-50);\n\n --db-subtitle-color-light: var(--text-primary);\n --db-subtitle-color-dark: var(--color-slate-50);\n\n --db-disclaimer-color-light: var(--color-slate-500);\n --db-disclaimer-color-dark: var(--color-slate-500);\n\n --db-card-radius: var(--radius-2xl);\n}\n\n/* ── SECTION SHELL ────────────────────────────────────────── */\n\n.db-section {\n width: 100%;\n box-sizing: border-box;\n}\n\n.db-section--light {\n background-color: var(--db-section-bg-light);\n}\n\n.db-section--light-2 {\n background-color: var(--db-section-bg-light-2);\n}\n\n.db-section--dark {\n background-color: var(--db-section-bg-dark);\n}\n\n/* ── INNER CONTAINER ──────────────────────────────────────── */\n\n.db-container {\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n}\n\n@media (min-width: 768px) {\n .db-container {\n padding: var(--spacing-56) var(--spacing-24);\n }\n}\n\n@media (min-width: 992px) {\n .db-container {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── CARD ─────────────────────────────────────────────────── */\n\n.db-card {\n border-radius: var(--db-card-radius);\n padding: var(--spacing-24);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-32);\n box-sizing: border-box;\n}\n\n.db-section--light .db-card {\n background-color: var(--db-card-bg-light);\n}\n\n.db-section--light-2 .db-card {\n background-color: var(--db-card-bg-light-2);\n}\n\n.db-section--dark .db-card {\n background-color: var(--db-card-bg-dark);\n}\n\n@media (min-width: 992px) {\n .db-card {\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: var(--spacing-80);\n padding: var(--spacing-48);\n }\n}\n\n/* ── QR BLOCK ─────────────────────────────────────────────── */\n\n.db-qr-block {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n@media (min-width: 992px) {\n .db-qr-block {\n flex-direction: row;\n align-items: center;\n gap: var(--spacing-32);\n flex-shrink: 0;\n }\n}\n\n/* ── QR IMAGE ─────────────────────────────────────────────── */\n\n.db-qr-image {\n width: 128px;\n height: 128px;\n object-fit: contain;\n object-position: center;\n display: none;\n /* hidden on mobile */\n flex-shrink: 0;\n}\n\n@media (min-width: 992px) {\n .db-qr-image {\n display: block;\n }\n}\n\n/* ── QR TEXT ──────────────────────────────────────────────── */\n\n.db-qr-text {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n}\n\n/* Desktop-only lines */\n.db-qr-text__title--desktop,\n.db-qr-text__subtitle--desktop {\n display: none;\n}\n\n/* Mobile-only heading */\n.db-qr-text__title--mobile {\n display: block;\n}\n\n@media (min-width: 992px) {\n\n .db-qr-text__title--desktop,\n .db-qr-text__subtitle--desktop {\n display: block;\n }\n\n .db-qr-text__title--mobile {\n display: none;\n }\n}\n\n.db-qr-text__title--desktop {\n font-family: var(--typography-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--typography-body-lg-font-weight);\n line-height: var(--typography-body-lg-line-height);\n}\n\n.db-qr-text__subtitle--desktop {\n /* Semantic tag: <h2> — visual style: h5 (was h3) */\n margin: 0;\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}\n\n.db-qr-text__title--mobile {\n font-family: var(--typography-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--typography-body-lg-font-weight);\n line-height: var(--typography-body-lg-line-height);\n}\n\n/* Text colours per style variant */\n.db-section--light .db-qr-text__title--desktop,\n.db-section--light .db-qr-text__title--mobile,\n.db-section--light-2 .db-qr-text__title--desktop,\n.db-section--light-2 .db-qr-text__title--mobile {\n color: var(--db-title-color-light);\n}\n\n.db-section--dark .db-qr-text__title--desktop,\n.db-section--dark .db-qr-text__title--mobile {\n color: var(--db-title-color-dark);\n}\n\n.db-section--light .db-qr-text__subtitle--desktop,\n.db-section--light-2 .db-qr-text__subtitle--desktop {\n color: var(--db-subtitle-color-light);\n}\n\n.db-section--dark .db-qr-text__subtitle--desktop {\n color: var(--db-subtitle-color-dark);\n}\n\n/* ── DISCLAIMER ───────────────────────────────────────────── */\n\n.db-disclaimer {\n display: block;\n font-family: var(--typography-body-sm-font-family);\n font-size: var(--typography-body-sm-font-size);\n font-weight: var(--typography-body-sm-font-weight);\n line-height: var(--typography-body-sm-line-height);\n margin-top: var(--spacing-4);\n}\n\n.db-section--light .db-disclaimer,\n.db-section--light-2 .db-disclaimer {\n color: var(--db-disclaimer-color-light);\n}\n\n.db-section--dark .db-disclaimer {\n color: var(--db-disclaimer-color-dark);\n}\n\n/* ── BADGE GRID ───────────────────────────────────────────── */\n\n.db-badges {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--spacing-8);\n}\n\n.db-badges .download-badge {\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .db-badges {\n flex: unset;\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n align-content: center;\n align-items: center;\n }\n\n .db-badges .download-badge {\n width: auto;\n }\n}","/* ── TextScroll ──────────────────────────────────────────── */\n\n.ts {\n font-family: var(--font-family-base);\n box-sizing: border-box;\n}\n\n/* ── Inner container ─────────────────────────────────────── */\n\n.ts__inner {\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n}\n\n@media (min-width: 768px) {\n .ts__inner {\n padding: var(--spacing-56) var(--spacing-24);\n }\n}\n\n@media (min-width: 1280px) {\n .ts__inner {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Text block ──────────────────────────────────────────── */\n\n.ts__text {\n margin: 0;\n font-family: var(--typography-h4-font-family);\n font-size: var(--typography-h4-font-size);\n font-weight: var(--typography-h4-font-weight);\n line-height: var(--typography-h4-line-height);\n color: var(--text-primary);\n}\n\n@media (min-width: 768px) {\n .ts__text {\n text-align: center;\n }\n}\n\n/* ── Individual word ─────────────────────────────────────── */\n\n.ts__word {\n display: inline;\n white-space: pre-wrap;\n /* GSAP tweens opacity 0.2 → 1 via inline style after first paint */\n will-change: opacity;\n}\n","/* ============================================================\n STICKY MARKET CARDS COMPONENT\n Token inheritance:\n Primitive (core) → Semantic (--smc-*) → Component styles\n\n STRUCTURE per card:\n .smc__card ← sticky wrapper (position:sticky)\n .smc__card-inner ← visual card (gets scale + filter)\n .smc__card-bg ← optional: full-bleed bg image\n img\n .smc__card-overlay ← semi-transparent theme colour\n .smc__card-content ← flex row: title | description\n .smc__card-title-wrap\n h3.smc__card-title\n .smc__card-desc-wrap\n p.smc__card-desc\n\n SCROLL MECHANIC:\n Each wrapper is position:sticky. The flex gap between wrappers\n creates scroll distance so cards don't all stack at once.\n JS measures overlap of the NEXT wrapper over the current one and\n applies scale/brightness to the INNER card only — the sticky\n position of the wrapper is never disturbed.\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────── */\n\n:root {\n /* Section background */\n --smc-bg: var(--color-slate-75);\n\n /* Font family */\n --smc-font-family: var(--font-family-base);\n\n /* Section header color */\n --smc-header-color: var(--text-primary);\n\n /* Card theme — light */\n --smc-card-light-bg: var(--color-slate-75);\n --smc-card-light-text: var(--color-slate-1200);\n\n /* Card theme — coral */\n --smc-card-coral-bg: var(--color-coral-700);\n --smc-card-coral-text: var(--color-slate-50);\n\n /* Card theme — dark */\n --smc-card-dark-bg: var(--color-slate-1200);\n --smc-card-dark-text: var(--color-slate-50);\n\n /* Typography — section header (H2) */\n --smc-header-size: var(--typography-h2-font-size);\n --smc-header-lh: var(--typography-h2-line-height);\n --smc-header-weight: var(--typography-h2-font-weight);\n\n /* Sticky scroll \"What we offer\" stack */\n --smc-sticky-top: var(--spacing-96);\n /* 96px base — clears typical nav */\n --smc-peek: var(--spacing-16);\n /* 16px per-card offset: card N sticks 16px lower than card N-1 */\n --smc-padding-v: var(--spacing-32);\n /* 32px vertical padding inside card */\n --smc-padding-h: var(--spacing-64);\n /* 64px horizontal padding inside card */\n --smc-min-height: 15.625rem;\n /* 250px — minimum card height matches 846×250 ratio */\n --smc-gap: var(--spacing-64);\n /* 64px gap between sticky wrappers = main scroll distance */\n --smc-content-gap: var(--spacing-24);\n /* 24px gap between title and description columns */\n /* RGB values for overlay colours (image + theme blend) */\n --smc-card-dark-rgb: 24, 28, 37;\n --smc-card-coral-rgb: 255, 68, 79;\n --smc-card-light-rgb: 246, 247, 248;\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.smc {\n width: 100%;\n background-color: var(--smc-bg);\n font-family: var(--smc-font-family);\n box-sizing: border-box;\n}\n\n/* ── INNER CONTAINER ──────────────────────────────────────── */\n\n.smc__inner {\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-48);\n box-sizing: border-box;\n}\n\n@media (min-width: 768px) {\n .smc__inner {\n padding: var(--spacing-56) var(--spacing-24);\n gap: var(--spacing-64);\n }\n}\n\n@media (min-width: 992px) {\n .smc__inner {\n padding: var(--spacing-112) var(--spacing-24);\n gap: var(--spacing-80);\n }\n}\n\n/* ── SECTION HEADER ───────────────────────────────────────── */\n\n.smc__header-wrap {\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 .smc__header-wrap {\n align-items: center;\n text-align: center;\n }\n}\n\n.smc__header {\n font-size: var(--smc-header-size);\n font-weight: var(--smc-header-weight);\n line-height: var(--smc-header-lh);\n color: var(--smc-header-color);\n margin: 0;\n}\n\n.smc__description {\n font-family: var(--typography-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--typography-body-lg-font-weight);\n line-height: var(--typography-body-lg-line-height);\n color: var(--color-slate-1200);\n margin: 0;\n max-width: 640px;\n}\n\n/* ── Track ────────────────────────────────────────────────── */\n\n.smc__track {\n display: flex;\n flex-direction: column;\n /* Gap between sticky wrappers: this IS the scroll distance */\n gap: var(--smc-gap);\n /* Extra room so the last card can fully scroll into view */\n padding-bottom: var(--spacing-96);\n /* Constrain cards to ~846px on desktop */\n width: 100%;\n max-width: var(--content-width-846);\n margin: 0 auto;\n}\n\n/* ── Sticky wrapper ───────────────────────────────────────── */\n/*\n * top is calculated using the inline --smc-card-index\n * z-index is set inline as i+1.\n * NO transform here — wrapper must stay fixed for sticky to work.\n */\n\n.smc__card {\n position: sticky;\n top: calc(var(--smc-sticky-top) + var(--smc-card-index) * var(--smc-peek));\n}\n\n/* ── Inner card — the visual element ─────────────────────── */\n\n.smc__card-inner {\n position: relative;\n border-radius: var(--spacing-32);\n padding: var(--smc-padding-v) var(--smc-padding-h);\n min-height: var(--smc-min-height);\n display: flex;\n align-items: center;\n overflow: hidden;\n box-sizing: border-box;\n\n /* JS-driven depth cues — identity transforms on first paint */\n transform-origin: top center;\n transition: transform 0.1s ease-out, filter 0.1s ease-out;\n will-change: transform, filter;\n}\n\n/* ── Inner card themes ────────────────────────────────────── */\n\n.smc__card-inner--light {\n background-color: var(--smc-card-light-bg);\n color: var(--smc-card-light-text);\n}\n\n.smc__card-inner--coral {\n background-color: var(--smc-card-coral-bg);\n color: var(--smc-card-coral-text);\n}\n\n.smc__card-inner--dark {\n background-color: var(--smc-card-dark-bg);\n color: var(--smc-card-dark-text);\n}\n\n/* ── Background image (optional) ─────────────────────────── */\n\n.smc__card-bg {\n position: absolute;\n inset: 0;\n z-index: 0;\n}\n\n.smc__card-bg img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n/* Semi-transparent overlay sits on top of the image */\n.smc__card-overlay {\n position: absolute;\n inset: 0;\n}\n\n.smc__card-overlay--dark {\n background-color: rgba(var(--smc-card-dark-rgb), 0.85);\n}\n\n.smc__card-overlay--coral {\n background-color: rgba(var(--smc-card-coral-rgb), 0.85);\n}\n\n.smc__card-overlay--light {\n background-color: rgba(var(--smc-card-light-rgb), 0.85);\n}\n\n/* ── Card content row ─────────────────────────────────────── */\n\n.smc__card-content {\n position: relative;\n z-index: 1;\n display: grid;\n grid-template-columns: 1fr 1.25fr;\n width: 100%;\n align-items: center;\n gap: var(--smc-content-gap);\n}\n\n.smc__card-title-wrap {\n flex: 1;\n}\n\n.smc__card-desc-wrap {\n flex: 1;\n}\n\n/* ── Card title ───────────────────────────────────────────── */\n\n.smc__card-title {\n margin: 0;\n font-family: var(--font-family-base);\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: inherit;\n}\n\n/* ── Card description ─────────────────────────────────────── */\n\n.smc__card-desc {\n margin: 0;\n font-family: var(--font-family-base);\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: inherit;\n opacity: 0.95;\n}\n\n/* ── Mobile ───────────────────────────────────────────────── */\n\n@media (max-width: 767px) {\n .smc__card-inner {\n padding: var(--spacing-24) var(--spacing-32);\n }\n\n .smc__card-content {\n grid-template-columns: 1fr;\n align-items: flex-start;\n gap: var(--spacing-24);\n }\n}\n","/* ============================================================\n TABLE COMPONENT\n Token inheritance:\n Primitive (core) → Semantic (--tbl-*) → Component styles\n\n Uses design-system primitives:\n SearchField — search input\n Pagination — page navigation\n\n STRUCTURE:\n .tbl ← root container\n .tbl__topbar ← search + showing summary\n .tbl__search-wrap ← SearchField wrapper\n .tbl__summary ← \"Showing X–Y of Z\"\n .tbl__scroll-wrapper ← horizontal scroll container\n .tbl__table ← native table\n thead\n .tbl__tr\n .tbl__th ← header cell\n .tbl__th-inner ← wrapper for tooltip positioning\n .tbl__hint ← hover tooltip\n .tbl__col-label ← header text (dashed if tooltip)\n .tbl__tbody\n .tbl__tr ← data row\n .tbl__td ← data cell\n .tbl__cell-inner ← icon + text\n .tbl__footer ← bottom bar\n .tbl__info-block ← info icon + text\n .tbl__pagination-wrap ← Pagination primitive wrapper\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────── */\n\n:root {\n --tbl-bg: var(--color-slate-50);\n --tbl-border: var(--color-slate-100);\n --tbl-header-bg: var(--color-slate-75);\n --tbl-row-hover-bg: var(--color-slate-75);\n --tbl-text: var(--text-primary);\n --tbl-text-muted: var(--text-secondary);\n --tbl-font-family: var(--font-family-base);\n\n /* Column widths */\n --tbl-col-main-width: 11rem; /* 176px — instrument + icon */\n --tbl-col-normal-width: 6rem; /* 96px — numeric columns */\n --tbl-col-big-width: 14rem; /* 224px — trading hours */\n\n /* Row */\n --tbl-row-height: var(--spacing-56);\n --tbl-cell-px: var(--spacing-16);\n\n /* Tooltip */\n --tbl-hint-bg: var(--color-slate-1200);\n --tbl-hint-border: var(--color-slate-1200);\n --tbl-hint-radius: var(--radius-md);\n --tbl-hint-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);\n --tbl-hint-width: 13rem;\n --tbl-hint-text: var(--color-slate-50);\n --tbl-hint-text-muted: var(--color-slate-300);\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.tbl-section {\n width: 100%;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-48);\n font-family: var(--tbl-font-family);\n box-sizing: border-box;\n}\n\n@media (min-width: 768px) {\n .tbl-section {\n padding: var(--spacing-56) var(--spacing-24);\n gap: var(--spacing-64);\n }\n}\n\n@media (min-width: 992px) {\n .tbl-section {\n padding: var(--spacing-112) var(--spacing-24);\n gap: var(--spacing-80);\n }\n}\n\n.tbl-section__header {\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n}\n\n.tbl-section__title {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--tbl-text);\n margin: 0;\n}\n\n.tbl {\n width: 100%;\n background-color: var(--tbl-bg);\n font-family: var(--tbl-font-family);\n font-size: var(--typography-body-xs-font-size);\n color: var(--tbl-text);\n box-sizing: border-box;\n border-radius: var(--radius-xl);\n border: 1px solid var(--tbl-border);\n overflow: hidden;\n}\n\n/* ── TOP BAR ──────────────────────────────────────────────── */\n\n.tbl__topbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--spacing-16);\n padding: var(--spacing-16) var(--spacing-24);\n border-bottom: 1px solid var(--tbl-border);\n background-color: var(--tbl-bg);\n flex-wrap: wrap;\n}\n\n.tbl__search-wrap {\n flex: 1;\n min-width: 160px;\n max-width: 320px;\n}\n\n/* Adjust SearchField primitive to fit table context */\n.tbl__search-wrap .sf-wrapper {\n height: var(--spacing-40);\n}\n\n.tbl__search-wrap .sf-input {\n font-size: var(--typography-body-sm-font-size);\n}\n\n.tbl__summary {\n font-size: var(--typography-body-xs-font-size);\n color: var(--tbl-text-muted);\n white-space: nowrap;\n flex-shrink: 0;\n}\n\n/* ── SCROLL WRAPPER ───────────────────────────────────────── */\n/*\n * overflow-x: auto enables horizontal scrolling.\n * overflow-y must be visible so tooltips can escape top/bottom.\n */\n\n.tbl__scroll-wrapper {\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n}\n\n/* ── NATIVE TABLE ─────────────────────────────────────────── */\n\n.tbl__table {\n width: 100%;\n min-width: max-content;\n border-collapse: separate;\n border-spacing: 0;\n text-align: left;\n}\n\n/* ── TABLE ROWS ───────────────────────────────────────────── */\n\n.tbl__tr {\n background-color: var(--tbl-bg);\n transition: background-color 0.1s;\n height: var(--tbl-row-height);\n}\n\n.tbl__tbody .tbl__tr:hover {\n background-color: var(--tbl-row-hover-bg);\n}\n\n/* ── TABLE CELLS (TH / TD) ────────────────────────────────── */\n\n.tbl__th,\n.tbl__td {\n padding: var(--spacing-12) var(--tbl-cell-px);\n box-sizing: border-box;\n vertical-align: middle;\n position: relative;\n width: var(--tbl-col-normal-width);\n min-width: var(--tbl-col-normal-width);\n border-bottom: 1px solid var(--tbl-border);\n}\n\n.tbl__tbody .tbl__tr:last-child .tbl__td {\n border-bottom: none;\n}\n\n.tbl__th--big,\n.tbl__td--big {\n width: var(--tbl-col-big-width);\n min-width: var(--tbl-col-big-width);\n}\n\n/* ── STICKY MAIN COLUMN ───────────────────────────────────── */\n/*\n * Native table cells support position: sticky perfectly.\n * We apply it to both TH and TD for the main column.\n */\n\n.tbl__th--main,\n.tbl__td--main {\n width: var(--tbl-col-main-width);\n min-width: var(--tbl-col-main-width);\n position: sticky;\n left: 0;\n z-index: 2;\n background-color: var(--tbl-bg);\n box-shadow: 4px 0 12px rgba(0, 0, 0, 0.03);\n}\n\n/* Keep sticky cell background in sync with row hover */\n.tbl__tbody .tbl__tr:hover .tbl__td--main {\n background-color: var(--tbl-row-hover-bg);\n}\n\n/* ── HEADER SPECIFICS ─────────────────────────────────────── */\n\n.tbl__th {\n background-color: var(--tbl-header-bg);\n font-weight: normal;\n vertical-align: top;\n padding-bottom: var(--spacing-12);\n padding-top: var(--spacing-12);\n position: sticky;\n top: 0;\n z-index: 4;\n}\n\n/* Header needs higher z-index so it stays above scrolling body cells AND scrolling headers */\n.tbl__th--main {\n background-color: var(--tbl-header-bg);\n z-index: 5;\n}\n\n.tbl__th-inner {\n position: relative;\n display: inline-flex;\n align-items: flex-start;\n}\n\n.tbl__col-label {\n font-size: var(--typography-body-xs-font-size);\n font-weight: var(--font-weight-semi-bold);\n color: var(--tbl-text);\n line-height: 1.4;\n}\n\n.tbl__col-label--dashed {\n border-bottom: 1px dashed var(--color-slate-400);\n cursor: help;\n}\n\n/* ── GLOBAL TOOLTIP ───────────────────────────────────────── */\n\n.tbl__global-hint {\n position: fixed;\n z-index: 9999;\n transform: translate(-50%, -100%);\n width: var(--tbl-hint-width);\n background-color: var(--tbl-hint-bg);\n border: 1px solid var(--tbl-hint-border);\n border-radius: var(--tbl-hint-radius);\n box-shadow: var(--tbl-hint-shadow);\n padding: var(--spacing-12);\n opacity: 0;\n visibility: hidden;\n pointer-events: none;\n transition: opacity 0.15s, visibility 0.15s;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-4);\n text-transform: none;\n letter-spacing: normal;\n white-space: normal;\n}\n\n.tbl__global-hint--visible {\n opacity: 1;\n visibility: visible;\n}\n\n.tbl__global-hint-desc {\n font-size: var(--typography-body-xs-font-size);\n color: var(--tbl-hint-text);\n line-height: 1.5;\n}\n\n.tbl__global-hint-arrow {\n position: absolute;\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n border: 6px solid transparent;\n border-top-color: var(--tbl-hint-bg);\n}\n\n/* ── CELL CONTENT ─────────────────────────────────────────── */\n\n.tbl__cell-inner {\n display: flex;\n align-items: center;\n gap: var(--spacing-12);\n min-width: 0;\n overflow: hidden;\n}\n\n.tbl__cell-icon {\n width: 1.5rem;\n height: 1.5rem;\n object-fit: contain;\n flex-shrink: 0;\n display: block;\n}\n\n.tbl__cell-text {\n font-size: var(--typography-body-xs-font-size);\n color: var(--tbl-text);\n line-height: 1.4;\n white-space: normal;\n word-break: break-word;\n}\n\n.tbl__cell-text--bold {\n font-weight: var(--font-weight-semi-bold);\n}\n\n\n/* ── EMPTY STATE ──────────────────────────────────────────── */\n\n.tbl__empty-cell {\n padding: var(--spacing-48) var(--spacing-24);\n text-align: center;\n font-size: var(--typography-body-md-font-size);\n color: var(--tbl-text-muted);\n}\n\n/* ── FOOTER (PAGINATION) ──────────────────────────────────── */\n\n.tbl__footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: var(--spacing-16) var(--spacing-24);\n border-top: 1px solid var(--tbl-border);\n background-color: var(--tbl-bg);\n}\n\n/* ── INFO BLOCK ───────────────────────────────────────────── */\n\n.tbl-section__info-box {\n margin-top: var(--spacing-40);\n display: flex;\n align-items: flex-start;\n justify-content: center;\n gap: var(--spacing-8);\n}\n\n.tbl-section__info-icon {\n color: var(--color-slate-400);\n flex-shrink: 0;\n margin-top: 0.125rem;\n width: 1rem;\n height: 1rem;\n}\n\n.tbl-section__info-text {\n font-size: var(--typography-body-xs-font-size);\n color: var(--tbl-text-muted);\n line-height: 1.5;\n margin: 0;\n text-align: left;\n}\n\n.tbl__pagination-wrap {\n display: flex;\n justify-content: flex-end;\n flex-shrink: 0;\n width: auto;\n}\n\n/* ── MOBILE ───────────────────────────────────────────────── */\n\n@media (max-width: 767px) {\n .tbl__topbar {\n flex-direction: column;\n align-items: center;\n padding: var(--spacing-16);\n gap: var(--spacing-16);\n }\n\n .tbl__search-wrap {\n max-width: 100%;\n width: 100%;\n }\n\n .tbl__summary {\n text-align: center;\n }\n\n .tbl__th--main,\n .tbl__td--main {\n width: calc(var(--tbl-col-main-width) * 0.7 + var(--spacing-16));\n min-width: calc(var(--tbl-col-main-width) * 0.7 + var(--spacing-16));\n }\n\n .tbl__footer {\n flex-direction: column;\n align-items: stretch;\n padding: var(--spacing-16);\n }\n\n .tbl__pagination-wrap {\n justify-content: center;\n }\n}\n","/* ── Section shell ─────────────────────────────────────────── */\n\n.avatar-grid {\n width: 100%;\n background-color: var(--color-slate-50);\n}\n\n/* ── Inner container ───────────────────────────────────────── */\n\n.avatar-grid__container {\n display: flex;\n flex-direction: column;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n width: 100%;\n align-items: center;\n gap: var(--spacing-48);\n}\n\n@media (min-width: 992px) {\n .avatar-grid__container {\n padding: var(--spacing-112) var(--spacing-24);\n gap: var(--spacing-80);\n }\n}\n\n/* ── Header ────────────────────────────────────────────────── */\n\n.avatar-grid__header {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n text-align: left;\n width: 100%;\n max-width: var(--content-width-846);\n gap: var(--spacing-16);\n}\n\n@media (min-width: 992px) {\n .avatar-grid__header {\n align-items: center;\n text-align: center;\n }\n}\n\n.avatar-grid__title {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--color-slate-1200);\n margin: 0;\n}\n\n.avatar-grid__description {\n font-family: var(--typography-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--typography-body-lg-font-weight);\n line-height: var(--typography-body-lg-line-height);\n color: var(--color-slate-900);\n margin: 0;\n}\n\n/* ── Grid wrapper ──────────────────────────────────────────── */\n\n.avatar-grid__grid-wrapper {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* ── Grid ──────────────────────────────────────────────────── */\n\n.avatar-grid__grid {\n display: grid;\n grid-template-columns: 1fr;\n row-gap: var(--spacing-32);\n column-gap: var(--spacing-16);\n width: 100%;\n}\n\n@media (min-width: 768px) {\n .avatar-grid__grid {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (min-width: 992px) {\n .avatar-grid__grid {\n grid-template-columns: repeat(4, 1fr);\n }\n}\n\n/* ── Extra cards — animated expand/collapse container ──────── */\n\n/*\n * Uses grid-template-rows: 0fr → 1fr for a height animation that\n * respects the actual content size (unlike max-height hacks).\n * The inner .avatar-grid__extra-grid needs min-height: 0 for 0fr to fully collapse.\n */\n.avatar-grid__extra-cards {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.8s cubic-bezier(0.16, 1, 0.3, 1);\n width: 100%;\n}\n\n.avatar-grid__extra-cards--open {\n grid-template-rows: 1fr;\n}\n\n.avatar-grid__extra-grid {\n min-height: 0;\n overflow: hidden;\n display: grid;\n grid-template-columns: 1fr;\n row-gap: var(--spacing-32);\n column-gap: var(--spacing-16);\n padding-top: var(--spacing-24);\n}\n\n@media (min-width: 768px) {\n .avatar-grid__extra-grid {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (min-width: 992px) {\n .avatar-grid__extra-grid {\n grid-template-columns: repeat(4, 1fr);\n padding-top: var(--spacing-32);\n }\n}\n\n/* ── Extra card — individual fade + rise animation ─────────── */\n\n.avatar-grid__extra-card {\n opacity: 0;\n transform: translateY(16px);\n transition:\n opacity 0.6s ease,\n transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.avatar-grid__extra-card--visible {\n opacity: 1;\n transform: translateY(0);\n}\n\n/* ── Card ──────────────────────────────────────────────────── */\n\n.avatar-grid__card {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-24);\n background-color: var(--color-slate-50);\n border-radius: var(--radius-2xl);\n width: 100%;\n}\n\n/* ── Image ─────────────────────────────────────────────────── */\n\n.avatar-grid__image-wrapper {\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: var(--radius-2xl);\n overflow: hidden;\n position: relative;\n background-color: var(--color-slate-100);\n}\n\n.avatar-grid__image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\n}\n\n/* ── Content ───────────────────────────────────────────────── */\n\n.avatar-grid__content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-8);\n width: 100%;\n}\n\n.avatar-grid__name {\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}\n\n.avatar-grid__role {\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}\n\n/* ── Link ──────────────────────────────────────────────────── */\n\n.avatar-grid__link {\n margin-top: calc(var(--spacing-8) * -1); /* Pull up slightly to reduce gap */\n}\n\n.avatar-grid__link .icon {\n color: #0072B1 !important; /* Official LinkedIn Blue */\n}\n\n.avatar-grid__link:hover .icon {\n color: #005582 !important; /* Darker LinkedIn Blue for hover */\n}\n\n/* ── Actions ───────────────────────────────────────────────── */\n\n.avatar-grid__actions {\n display: flex;\n justify-content: center;\n width: 100%;\n padding-top: var(--spacing-16);\n}\n\n@media (min-width: 992px) {\n .avatar-grid__actions {\n padding-top: 0;\n margin-top: calc(var(--spacing-48) - var(--spacing-80));\n width: auto;\n }\n\n .avatar-grid__actions .button {\n width: auto;\n }\n}\n","/* ============================================================\n IMAGE BANNER\n Variants:\n split → text left, photo right panel (default)\n full-bg → photo covers entire card, text overlaid on top\n\n Spacing follows the system convention:\n mobile → padding: var(--spacing-56) 0 (edge-to-edge card)\n desktop → padding: var(--spacing-112) var(--spacing-24)\n ============================================================ */\n\n/* ── Section shell ─────────────────────────────────────────── */\n\n.image-banner {\n width: 100%;\n font-family: var(--font-family-base);\n box-sizing: border-box;\n /* No horizontal padding on mobile — card is edge-to-edge */\n padding: var(--spacing-56) 0;\n}\n\n@media (min-width: 992px) {\n .image-banner {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Card (inner container) ────────────────────────────────── */\n\n.image-banner__inner {\n position: relative;\n display: flex;\n flex-direction: column;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n /* Square corners on mobile (edge-to-edge), rounded on desktop */\n border-radius: 0;\n overflow: hidden;\n background-color: var(--color-slate-1200);\n min-height: 480px;\n}\n\n@media (min-width: 992px) {\n .image-banner__inner {\n border-radius: var(--radius-2xl);\n }\n}\n\n/* ── Split variant: side-by-side on desktop ────────────────── */\n\n@media (min-width: 992px) {\n .image-banner__inner--split {\n flex-direction: row;\n align-items: stretch;\n }\n}\n\n/* ── Full-bg variant: taller card on mobile ─────────────────── */\n\n.image-banner__inner--full-bg {\n min-height: 740px;\n}\n\n@media (min-width: 992px) {\n .image-banner__inner--full-bg {\n min-height: 480px;\n max-height: 480px;\n }\n}\n\n/* ── Content (text + CTA panel) ────────────────────────────── */\n\n.image-banner__content {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n text-align: left;\n gap: var(--spacing-16);\n padding: var(--spacing-48) var(--spacing-24);\n flex: 0 0 auto;\n width: 100%;\n box-sizing: border-box;\n position: relative;\n z-index: 1;\n}\n\n@media (min-width: 992px) {\n .image-banner__content {\n gap: var(--spacing-24);\n }\n\n .image-banner__inner--split .image-banner__content {\n width: 50%;\n padding: var(--spacing-64) var(--spacing-56);\n justify-content: center;\n }\n\n .image-banner__inner--full-bg .image-banner__content {\n width: 60%;\n padding: var(--spacing-64) var(--spacing-56);\n justify-content: center;\n flex: 1 1 auto;\n align-self: stretch;\n }\n}\n\n/* ── Title ─────────────────────────────────────────────────── */\n\n.image-banner__title {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--color-slate-50);\n margin: 0;\n}\n\n/* ── Description ───────────────────────────────────────────── */\n\n.image-banner__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-50);\n margin: 0;\n opacity: 0.9;\n max-width: 42ch;\n}\n\n/* ── Actions ───────────────────────────────────────────────── */\n\n.image-banner__actions {\n display: flex;\n align-items: center;\n padding-top: var(--spacing-8);\n}\n\n/* ── Split: right-panel image ──────────────────────────────── */\n\n.image-banner__image-wrapper {\n position: relative;\n width: 100%;\n aspect-ratio: 4 / 3;\n overflow: hidden;\n flex-shrink: 0;\n}\n\n@media (min-width: 992px) {\n .image-banner__image-wrapper {\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n width: 55%;\n aspect-ratio: unset;\n }\n}\n\n.image-banner__image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center top;\n display: block;\n}\n\n/* ── Full-bg: background image + overlay ──────────────────── */\n\n.image-banner__bg-image-wrapper {\n position: absolute;\n inset: 0;\n z-index: 0;\n}\n\n.image-banner__bg-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\n}\n\n/*\n * Dark gradient overlay so white text stays legible over any photo.\n * Fades from opaque on the left to transparent on the right.\n */\n.image-banner__bg-overlay {\n position: absolute;\n inset: 0;\n background: linear-gradient(\n to right,\n rgba(0, 0, 0, 0.72) 0%,\n rgba(0, 0, 0, 0.48) 50%,\n rgba(0, 0, 0, 0.10) 100%\n );\n}\n","/* ── Semantic tokens ────────────────────────────────────────── */\n\n:root {\n --testimonial-bg: var(--color-slate-75);\n --testimonial-card-bg: var(--color-slate-50);\n --testimonial-card-radius: 2rem; /* 32px — no matching radius token */\n --testimonial-card-shadow: none;\n --testimonial-card-min-height: 416px;\n --testimonial-title-color: var(--color-slate-1200);\n --testimonial-quote-color: var(--color-slate-900);\n --testimonial-author-name-color: var(--color-slate-1200);\n --testimonial-author-location-color: var(--color-slate-700);\n --testimonial-dot-color: var(--color-slate-300);\n --testimonial-dot-active-color: var(--color-slate-1200);\n --testimonial-quotemark-color: var(--color-slate-200);\n}\n\n/* ── Section shell ─────────────────────────────────────────── */\n\n.testimonial {\n width: 100%;\n background-color: var(--testimonial-bg);\n}\n\n/* ── Inner container ───────────────────────────────────────── */\n\n.testimonial__container {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n width: 100%;\n gap: var(--spacing-48);\n}\n\n@media (min-width: 768px) {\n .testimonial__container {\n padding: var(--spacing-56) var(--spacing-24);\n }\n}\n\n@media (min-width: 992px) {\n .testimonial__container {\n padding: var(--spacing-112) var(--spacing-24);\n gap: var(--spacing-64);\n }\n}\n\n/* ── Title ─────────────────────────────────────────────────── */\n\n.testimonial__title {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--testimonial-title-color);\n margin: 0;\n text-align: left;\n width: 100%;\n}\n\n/* ── Carousel wrapper ──────────────────────────────────────── */\n\n.testimonial__carousel {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-32);\n}\n\n/* ── Card ──────────────────────────────────────────────────── */\n\n.testimonial__card {\n position: relative;\n width: 100%;\n height: 100%; /* fill the slide wrapper so all cards match the tallest */\n max-width: var(--content-width-1280);\n min-height: var(--testimonial-card-min-height);\n background-color: var(--testimonial-card-bg);\n border-radius: var(--testimonial-card-radius);\n box-shadow: var(--testimonial-card-shadow);\n /* Extra top padding reserves space for the absolute quote mark (100px img + 24px offset + gap) */\n padding: 148px var(--spacing-32) var(--spacing-48);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n text-align: left;\n gap: var(--spacing-24);\n overflow: hidden;\n}\n\n@media (min-width: 992px) {\n .testimonial__card {\n padding: var(--spacing-56) var(--spacing-80);\n align-items: center;\n text-align: center;\n }\n}\n\n/* ── Decorative quote marks ────────────────────────────────── */\n\n.testimonial__quotemark {\n position: absolute;\n user-select: none;\n line-height: 0;\n}\n\n.testimonial__quotemark-img {\n width: 100px;\n height: auto;\n display: block;\n}\n\n.testimonial__quotemark--open {\n top: var(--spacing-24);\n left: var(--spacing-24);\n}\n\n.testimonial__quotemark--close {\n bottom: var(--spacing-24);\n right: var(--spacing-24);\n display: none;\n}\n\n@media (min-width: 992px) {\n .testimonial__quotemark-img {\n width: 130px;\n }\n\n .testimonial__quotemark--open {\n top: var(--spacing-32);\n left: var(--spacing-40);\n }\n\n .testimonial__quotemark--close {\n display: block;\n bottom: var(--spacing-32);\n right: var(--spacing-40);\n }\n}\n\n/* ── Quote text ────────────────────────────────────────────── */\n\n.testimonial__quote {\n font-family: var(--typography-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--typography-body-lg-font-weight);\n line-height: var(--typography-body-lg-line-height);\n color: var(--testimonial-quote-color);\n text-align: left;\n margin: 0;\n max-width: 680px;\n position: relative;\n z-index: 1;\n}\n\n@media (min-width: 992px) {\n .testimonial__quote {\n text-align: center;\n }\n}\n\n/* ── Author ────────────────────────────────────────────────── */\n\n.testimonial__author {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-4);\n position: relative;\n z-index: 1;\n}\n\n@media (min-width: 992px) {\n .testimonial__author {\n align-items: center;\n }\n}\n\n.testimonial__author-avatar {\n width: 48px;\n height: 48px;\n border-radius: 50%;\n object-fit: cover;\n margin-bottom: var(--spacing-8);\n}\n\n.testimonial__author-name {\n font-family: var(--typography-body-lg-font-family);\n font-size: var(--typography-body-lg-font-size);\n font-weight: var(--font-weight-semi-bold);\n line-height: var(--typography-body-lg-line-height);\n color: var(--testimonial-author-name-color);\n margin: 0;\n}\n\n.testimonial__author-location {\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(--testimonial-author-location-color);\n margin: 0;\n}\n\n/* ── Dot pagination ────────────────────────────────────────── */\n\n.testimonial__dots {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n}\n\n.testimonial__dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background-color: var(--testimonial-dot-color);\n border: none;\n padding: 0;\n cursor: pointer;\n transition: background-color 0.2s ease, transform 0.2s ease;\n flex-shrink: 0;\n}\n\n.testimonial__dot:hover {\n background-color: var(--testimonial-dot-active-color);\n}\n\n.testimonial__dot--active {\n background-color: var(--testimonial-dot-active-color);\n transform: scale(1.25);\n}\n\n/* ── Slides stack — all slides rendered, stacked so container\n always takes the height of the tallest card ──────────────── */\n\n.testimonial__slides {\n position: relative;\n display: grid;\n width: 100%;\n}\n\n/*\n * All slides occupy the same grid cell (row 1 / col 1).\n * They are all rendered in the DOM so the grid row stretches\n * to the tallest card. Inactive slides are invisible + non-interactive.\n */\n.testimonial__slide {\n grid-area: 1 / 1;\n width: 100%;\n align-self: stretch; /* stretch to tallest sibling's height */\n opacity: 0;\n visibility: hidden;\n pointer-events: none;\n transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1),\n transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),\n visibility 0s linear 0.35s;\n transform: translateY(6px);\n}\n\n.testimonial__slide--active {\n opacity: 1;\n visibility: visible;\n pointer-events: auto;\n transform: translateY(0);\n transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1),\n transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),\n visibility 0s linear 0s;\n}\n\n.testimonial__slide--exiting {\n opacity: 0;\n visibility: visible; /* keep visible during exit */\n transform: translateY(-6px);\n transition: opacity 0.2s cubic-bezier(0.4, 0, 1, 1),\n transform 0.2s cubic-bezier(0.4, 0, 1, 1),\n visibility 0s linear 0.2s;\n}\n","/* ── Root ─────────────────────────────────────────────────── */\n\n.bh-root {\n width: 100%;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .bh-root {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Desktop layout ───────────────────────────────────────── */\n\n.bh-desktop {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n}\n\n.bh-desktopHeader {\n display: flex;\n align-items: center;\n gap: var(--spacing-24);\n}\n\n.bh-headerLeft {\n flex: 1 0 0;\n min-width: 0;\n}\n\n.bh-headerRight {\n flex: 0 0 auto;\n width: 295px;\n}\n\n.bh-desktopBody {\n display: flex;\n align-items: flex-start;\n gap: var(--spacing-24);\n}\n\n.bh-mobile {\n display: none;\n}\n\n/* ── Sidebar columns ──────────────────────────────────────── */\n\n.bh-sidebar {\n flex: 1 0 0;\n min-width: 0;\n display: flex;\n align-items: flex-end;\n}\n\n.bh-column {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n width: 100%;\n}\n\n.bh-columnHeader {\n display: flex;\n align-items: center;\n gap: 0;\n width: 100%;\n}\n\n.bh-columnLabel {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n padding: 0 var(--spacing-8);\n border-radius: var(--radius-full);\n background-color: var(--tag-fill-background);\n font-family: var(--font-family-base);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-regular);\n line-height: 20px;\n color: var(--tag-text-color);\n white-space: nowrap;\n flex-shrink: 0;\n}\n\n.bh-columnLine {\n flex: 1 0 0;\n min-width: 0;\n height: 1px;\n background-color: var(--color-opacity-slate-8);\n}\n\n/* ── Column list items ────────────────────────────────────── */\n\n.bh-columnList {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n.bh-listItem {\n padding-bottom: var(--spacing-16);\n border-bottom: 1px solid var(--color-opacity-slate-8);\n}\n\n.bh-listItem .ct-title {\n font-size: 16px;\n line-height: 24px;\n}\n\n.bh-listItem .ct-thumbnailWrapper {\n width: 80px !important;\n height: 53px !important;\n}\n\n.bh-listItem .card-thumbnail.ct-horizontal {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n.bh-listItem:last-child {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n/* ── Vertical divider ─────────────────────────────────────── */\n\n.bh-divider {\n width: 1px;\n align-self: stretch;\n background-color: var(--color-opacity-slate-8);\n flex-shrink: 0;\n}\n\n/* ── Center / Featured ────────────────────────────────────── */\n\n.bh-center {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n flex: 2 1 0;\n min-width: 0;\n justify-content: flex-start;\n align-self: stretch;\n}\n\n.bh-featured {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n.bh-featuredInfo {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n}\n\n.bh-featuredTitle {\n font-family: var(--typography-h4-font-family);\n font-size: var(--typography-h4-font-size);\n font-weight: var(--typography-h4-font-weight);\n line-height: var(--typography-h4-line-height);\n color: var(--color-slate-1200);\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n}\n\n.bh-featuredSummary {\n font-family: var(--font-family-base);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-regular);\n line-height: 24px;\n color: var(--color-slate-1200);\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.bh-featuredTags {\n display: flex;\n align-items: center;\n gap: var(--spacing-4);\n}\n\n.bh-featuredImage {\n width: 100%;\n border-radius: var(--radius-xl);\n overflow: hidden;\n position: relative;\n aspect-ratio: 594 / 381;\n}\n\n.bh-featuredImg {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n border-radius: inherit;\n}\n\n/* ── Featured footer (2 small cards below featured) ───────── */\n\n.bh-featuredFooter {\n display: flex;\n align-items: flex-start;\n gap: var(--spacing-16);\n width: 100%;\n}\n\n.bh-footerItem {\n display: flex;\n align-items: flex-start;\n gap: var(--spacing-16);\n flex: 1 0 0;\n min-width: 0;\n}\n\n.bh-footerDivider {\n width: 1px;\n align-self: stretch;\n background-color: var(--color-opacity-slate-8);\n flex-shrink: 0;\n}\n\n.bh-footerContent {\n flex: 1 0 0;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n}\n\n.bh-footerTitle {\n font-family: var(--font-family-base);\n font-size: 16px;\n font-weight: var(--font-weight-semi-bold);\n line-height: 24px;\n color: var(--color-slate-1200);\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n}\n\n/* ── Tag items ────────────────────────────────────────────── */\n\n.bh-tagItem {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-4);\n}\n\n.bh-tagDot {\n color: var(--tag-custom-text-color);\n font-size: var(--font-size-sm);\n line-height: 1;\n}\n\n/* ── Mobile layout ────────────────────────────────────────── */\n\n.bh-mobileFeatured {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n padding: var(--spacing-24) var(--spacing-16) 0;\n}\n\n.bh-mobileLabel {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n padding: 0 var(--spacing-8);\n border-radius: var(--radius-full);\n background-color: var(--tag-fill-background);\n font-family: var(--font-family-base);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-regular);\n line-height: 20px;\n color: var(--tag-text-color);\n white-space: nowrap;\n align-self: flex-start;\n}\n\n.bh-mobileFeaturedImage {\n width: 100%;\n aspect-ratio: 594 / 369;\n border-radius: var(--radius-md);\n overflow: hidden;\n position: relative;\n}\n\n.bh-mobileSection {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n padding: 0 var(--spacing-16);\n padding-bottom: var(--spacing-24);\n border-bottom: 1px solid var(--color-opacity-slate-8);\n}\n\n.bh-mobileSection:last-child {\n border-bottom: none;\n}\n\n@media (max-width: 991px) {\n .bh-desktop {\n display: none;\n }\n\n .bh-mobile {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n }\n}\n\n@media (min-width: 768px) and (max-width: 991px) {\n .bh-columnList {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--spacing-16);\n }\n\n .bh-columnList .bh-listItem:nth-last-child(-n+2) {\n border-bottom: none;\n padding-bottom: 0;\n }\n\n .bh-mobileSection {\n border-bottom: none !important;\n padding-bottom: 0;\n }\n\n .bh-mobileFeatured {\n border-bottom: none !important;\n padding-bottom: 0;\n }\n}\n\n@media (max-width: 767px) {\n .bh-listItemThumb {\n width: 80px;\n height: 53px;\n }\n\n .bh-featuredFooter {\n gap: var(--spacing-8);\n }\n}\n","/* ── Root ─────────────────────────────────────────────────── */\n\n.as-root {\n width: 100%;\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .as-root {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Header ───────────────────────────────────────────────── */\n\n.as-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: var(--spacing-24);\n}\n\n.as-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}\n\n/* ── Desktop layout ───────────────────────────────────────── */\n\n.as-desktop {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n}\n\n.as-mobile {\n display: none;\n}\n\n/* ── Featured row (desktop) ───────────────────────────────── */\n\n.as-featuredRow {\n width: 100%;\n}\n\n.as-featuredRow .card-thumbnail.ct-horizontal {\n align-items: center;\n border-bottom: none;\n padding-bottom: 0;\n max-width: none !important;\n gap: var(--spacing-24);\n}\n\n.as-featuredRow .ct-thumbnailWrapper {\n width: auto !important;\n height: auto !important;\n flex: 1 1 50% !important;\n aspect-ratio: 16 / 9 !important;\n}\n\n.as-featuredRow .ct-content {\n flex: 1 1 50% !important;\n}\n\n.as-featuredRow .ct-title {\n font-size: var(--typography-h4-font-size);\n font-weight: var(--typography-h4-font-weight);\n line-height: var(--typography-h4-line-height);\n}\n\n/* ── Grid (desktop) ───────────────────────────────────────── */\n\n.as-grid {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: var(--spacing-24);\n}\n\n/* ── Mobile layout ────────────────────────────────────────── */\n\n.as-mobileFeatured {\n padding-bottom: var(--spacing-16);\n border-bottom: 1px solid var(--color-opacity-slate-8);\n}\n\n.as-mobileList {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n margin-top: var(--spacing-16);\n}\n\n.as-mobileListItem {\n padding-bottom: var(--spacing-16);\n border-bottom: 1px solid var(--color-opacity-slate-8);\n}\n\n.as-mobileListItem:last-child {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n.as-mobileListItem .card-thumbnail.ct-horizontal {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n@media (max-width: 991px) {\n .as-desktop {\n display: none;\n }\n\n .as-mobile {\n display: flex;\n flex-direction: column;\n }\n}\n\n/* ── Showcase variant (desktop) ───────────────────────────── */\n\n.as-showcaseGrid {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr;\n gap: var(--spacing-24);\n}\n\n.as-showcaseFeatured {\n display: flex;\n}\n\n.as-showcaseCol {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n.as-showcaseItem {\n padding-bottom: var(--spacing-16);\n border-bottom: 1px solid var(--color-opacity-slate-8);\n}\n\n.as-showcaseItem:last-child {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n.as-showcaseItem .card-thumbnail.ct-horizontal {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n/* ── Grid variant — mobile horizontal scroll ──────────────── */\n\n.as-mobile-grid {\n display: none;\n}\n\n.as-mobileScroll {\n display: flex;\n gap: var(--spacing-16);\n overflow-x: auto;\n scroll-snap-type: x mandatory;\n -webkit-overflow-scrolling: touch;\n padding: 0 var(--spacing-16);\n padding-bottom: var(--spacing-8);\n margin: 0 calc(var(--spacing-16) * -1);\n}\n\n.as-mobileScroll::-webkit-scrollbar {\n display: none;\n}\n\n.as-mobileScrollItem {\n flex: 0 0 280px;\n scroll-snap-align: start;\n}\n\n@media (max-width: 991px) {\n .as-mobile-grid {\n display: block;\n }\n}\n","/* ============================================================\n CORAL BANNER\n Variants: static | carousel\n Full-bleed coral promo banner — matches the \"Join 3M+ global\n traders\" banner on deriv.com and deriv.com/markets/forex.\n\n Token inheritance:\n Core (--color-*, --spacing-*, --font-*) →\n Semantic (--crb-*) →\n Styles\n\n NOTE — deliberate deviations from the global template padding\n spec (Rule 4) and max-width, to reproduce the reference banner\n exactly:\n - Vertical padding steps 80 / 112 / 96 / 72px (not 56 / 112px)\n - Container max-width 78rem / 1248px (not 1280px)\n Values are still 1:1 with the live site's compiled CSS.\n ============================================================ */\n\n/* ── COMPONENT TOKENS ─────────────────────────────────────── */\n:root {\n --crb-bg: var(--color-coral-700);\n --crb-text: var(--color-slate-50);\n\n --crb-max-width: 78rem;\n /* 1248px — matches reference `.section-container` */\n --crb-padding-inline: var(--spacing-16);\n --crb-padding-block: var(--spacing-72);\n /* < 480px */\n\n --crb-grid-gap: 1.75rem;\n /* 28px — reference `.newbanner-grid` column gap */\n --crb-content-gap: var(--spacing-24);\n\n --crb-title-size: 3rem;\n --crb-title-lh: 3.5rem;\n --crb-title-weight: var(--font-weight-extra-bold);\n\n --crb-body-size: var(--typography-body-lg-font-size);\n --crb-body-lh: var(--typography-body-lg-line-height);\n\n --crb-transition-easing: ease-in-out;\n\n --crb-control-size: 2.5rem;\n /* 40px arrow buttons */\n --crb-control-border: var(--color-opacity-white-48);\n --crb-control-hover-bg: var(--color-opacity-white-24);\n --crb-control-inset: var(--spacing-24);\n\n --crb-dot-inactive: var(--color-opacity-white-48);\n --crb-dot-active: var(--color-slate-50);\n --crb-dot-size: 0.5rem;\n --crb-dot-active-width: 1.5rem;\n}\n\n@media (min-width: 480px) {\n :root {\n --crb-title-size: 4.5rem;\n /* 72px — reference `.newbanner-header` (≥ 480px) */\n --crb-title-lh: 5rem;\n /* 80px */\n --crb-padding-block: var(--spacing-96);\n /* 480–767px */\n }\n}\n\n/* 768–991px (tablet): reference padding is taller than desktop (112px) —\n the grid has already collapsed to one column here, needing more\n vertical breathing room. */\n@media (min-width: 768px) {\n :root {\n --crb-padding-inline: var(--spacing-24);\n --crb-padding-block: var(--spacing-112);\n }\n}\n\n@media (min-width: 992px) {\n :root {\n --crb-padding-block: var(--spacing-80);\n /* ≥ 992px — desktop is more compact than tablet */\n }\n}\n\n/* ── SECTION (full-bleed) ─────────────────────────────────── */\n\n.crb {\n position: relative;\n width: 100%;\n background-color: var(--crb-bg);\n font-family: var(--font-family-base);\n box-sizing: border-box;\n overflow: hidden;\n}\n\n/* ── INNER — horizontal centring / padding only ──────────── */\n\n.crb__inner {\n width: 100%;\n max-width: var(--crb-max-width);\n margin: 0 auto;\n padding-inline: var(--crb-padding-inline);\n box-sizing: border-box;\n}\n\n/* ── STAGE — vertical padding + positioning context for\n dots/arrows (zero horizontal padding of its own, so\n `left: 0` / `right: 0` align exactly with the text column) ── */\n\n.crb__stage {\n position: relative;\n width: 100%;\n padding-block: var(--crb-padding-block);\n box-sizing: border-box;\n}\n\n/* ── VIEWPORT / TRACK (carousel only) ─────────────────────── */\n\n.crb__viewport {\n position: relative;\n width: 100%;\n overflow: hidden;\n touch-action: pan-y;\n}\n\n.crb__track {\n display: flex;\n width: 100%;\n transition-property: transform;\n transition-timing-function: var(--crb-transition-easing);\n will-change: transform;\n}\n\n.crb__slide {\n flex: 0 0 100%;\n min-width: 100%;\n box-sizing: border-box;\n}\n\n/* ── GRID — text column + reserved spacer column ─────────── */\n\n.crb__grid {\n display: grid;\n grid-template-columns: 1fr;\n align-items: center;\n gap: var(--crb-grid-gap);\n}\n\n@media (min-width: 992px) {\n .crb__grid {\n grid-template-columns: 2.15fr 1fr;\n }\n}\n\n.crb__spacer {\n display: none;\n}\n\n@media (min-width: 992px) {\n .crb__spacer {\n display: block;\n }\n}\n\n/* ── CONTENT ──────────────────────────────────────────────── */\n\n.crb__content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--crb-content-gap);\n text-align: left;\n}\n\n.crb__title {\n margin: 0;\n font-family: var(--font-family-base);\n font-size: var(--crb-title-size);\n font-weight: var(--crb-title-weight);\n line-height: var(--crb-title-lh);\n color: var(--crb-text);\n}\n\n.crb__description {\n margin: 0;\n font-size: var(--crb-body-size);\n font-weight: var(--typography-body-lg-font-weight);\n line-height: var(--crb-body-lh);\n color: var(--crb-text);\n}\n\n.crb__buttons {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--spacing-16);\n}\n\n/* ── DOTS ─────────────────────────────────────────────────── */\n\n.crb__dots {\n position: absolute;\n left: 0;\n bottom: var(--crb-control-inset);\n display: flex;\n align-items: center;\n gap: 0.375rem;\n}\n\n.crb__dot {\n appearance: none;\n padding: 0;\n border: none;\n cursor: pointer;\n width: var(--crb-dot-size);\n height: var(--crb-dot-size);\n border-radius: var(--radius-full);\n background-color: var(--crb-dot-inactive);\n transition: width 0.3s ease, background-color 0.3s ease;\n}\n\n.crb__dot--active {\n width: var(--crb-dot-active-width);\n background-color: var(--crb-dot-active);\n}\n\n.crb__dot:focus-visible {\n outline: 2px solid var(--crb-text);\n outline-offset: 2px;\n}\n\n/* ── ARROWS ───────────────────────────────────────────────── */\n\n.crb__arrows {\n position: absolute;\n right: 0;\n bottom: var(--crb-control-inset);\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.crb__arrow {\n appearance: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--crb-control-size);\n height: var(--crb-control-size);\n border-radius: var(--radius-full);\n border: 1px solid var(--crb-control-border);\n background-color: transparent;\n color: var(--crb-text);\n cursor: pointer;\n transition: background-color 0.3s ease-out;\n}\n\n.crb__arrow:hover {\n background-color: var(--crb-control-hover-bg);\n}\n\n.crb__arrow svg {\n width: 1rem;\n height: 1rem;\n}\n\n/* ── Small mobile — dots/arrows hidden below the section on very\n narrow screens if content wraps tall; kept visible by default,\n consumers can hide via showDots/showArrows if needed. ── */\n@media (max-width: 359px) {\n .crb__arrows {\n display: none;\n }\n}\n","/* ============================================================\n FEATURE AWARDS COMPONENT\n Token inheritance:\n Primitive (core) → Semantic (--fa-*) → Component styles\n\n Section:\n --fa-bg var(--color-slate-50) [white]\n --fa-max-width var(--content-width-1280) [1280px]\n\n Section padding (global spec — mobile/tablet/desktop):\n mobile spacing-56 / spacing-16\n tablet spacing-56 / spacing-24\n desktop spacing-112 / spacing-24\n\n Title:\n --fa-title-color var(--text-primary)\n Typography: --typography-h2-*\n\n Item:\n --fa-item-title-color var(--color-slate-1200)\n --fa-item-subtitle-color var(--color-slate-600)\n\n Grid columns (desktop/tablet):\n Item flex-basis/max-width are tuned so exactly 5 items fit per\n row at the 1280px max-width container (1232px content width):\n 5 × 227px + 4 × 24px gap ≈ 1232px. A 6th item never fits inside\n that width, so 5 is the hard ceiling regardless of screen size;\n narrower viewports naturally wrap to 4, 3, 2 … per row.\n\n Mobile marquee:\n --fa-duration 32s (default, overridable per-instance via inline style)\n ============================================================ */\n\n:root {\n --fa-bg: var(--color-slate-50);\n --fa-max-width: var(--content-width-1280);\n\n --fa-title-color: var(--text-primary);\n\n --fa-item-title-color: var(--color-slate-1200);\n --fa-item-subtitle-color: var(--color-slate-600);\n\n --fa-item-basis: 12.5rem;\n /* 200px — grid item's preferred/minimum width before wrapping */\n --fa-item-max: 16rem;\n /* 256px — caps growth so a short row doesn't stretch too wide */\n --fa-item-gap-x: var(--spacing-24);\n --fa-item-gap-y: var(--spacing-40);\n}\n\n/* ── SECTION ─────────────────────────────────────────────────── */\n\n.fa {\n width: 100%;\n background-color: var(--fa-bg);\n font-family: var(--font-family-base);\n box-sizing: border-box;\n}\n\n/* ── INNER WRAPPER — global section padding spec ────────────── */\n\n.fa__inner {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-40);\n max-width: var(--fa-max-width);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n}\n\n@media (min-width: 768px) {\n .fa__inner {\n padding: var(--spacing-56) var(--spacing-24);\n }\n}\n\n@media (min-width: 992px) {\n .fa__inner {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── TITLE ───────────────────────────────────────────────────── */\n\n.fa__title {\n margin: 0;\n width: 100%;\n text-align: left;\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--fa-title-color);\n}\n\n@media (min-width: 768px) {\n .fa__title {\n text-align: center;\n }\n}\n\n/* ── DESKTOP / TABLET GRID — centered, wraps, last row centers ── */\n\n.fa__grid {\n display: none;\n width: 100%;\n flex-wrap: wrap;\n align-items: flex-start;\n justify-content: center;\n row-gap: var(--fa-item-gap-y);\n column-gap: var(--fa-item-gap-x);\n}\n\n@media (min-width: 768px) {\n .fa__grid {\n display: flex;\n }\n}\n\n/* ── MOBILE SCROLLER — hidden below 768px only ──────────────── */\n\n.fa__scroller {\n display: block;\n width: 100%;\n overflow-x: hidden;\n}\n\n@media (min-width: 768px) {\n .fa__scroller {\n display: none;\n }\n}\n\n/* ── MARQUEE TRACK ───────────────────────────────────────────── */\n\n.fa__track {\n display: flex;\n width: max-content;\n}\n\n.fa__track-group {\n display: flex;\n flex-shrink: 0;\n gap: var(--fa-item-gap-x);\n padding-right: var(--fa-item-gap-x);\n}\n\n/* Continuous seamless loop: the track renders two identical\n groups back to back, so translating by exactly -50% of the\n full (2×) track width shifts by one group's width — the next\n frame is pixel-identical to frame 0. */\n.fa__track--auto {\n animation: fa-marquee var(--fa-duration, 32s) linear infinite;\n}\n\n.fa__track--auto:hover,\n.fa__track--auto:focus-within {\n animation-play-state: paused;\n}\n\n@keyframes fa-marquee {\n from {\n transform: translateX(0);\n }\n\n to {\n transform: translateX(-50%);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fa__scroller {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n\n .fa__track--auto {\n animation: none;\n }\n}\n\n/* ── AWARD ITEM — leaf / text / leaf ─────────────────────────── */\n\n.fa__item {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-8);\n min-width: 0;\n}\n\n/* Grid (desktop/tablet): grow/shrink around a shared basis so each\n wrapped row naturally holds as many items as fit — capped at 5\n per row by the container math above — and a partial final row\n stays centered (via .fa__grid's justify-content) instead of\n stretching edge-to-edge. */\n.fa__grid .fa__item {\n flex: 1 1 var(--fa-item-basis);\n max-width: var(--fa-item-max);\n}\n\n/* Mobile marquee: fixed width per item so the ticker reads at a\n consistent, predictable pace. */\n.fa__track-group .fa__item {\n flex: 0 0 var(--fa-item-basis);\n}\n\n.fa__item-text {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-4);\n text-align: center;\n min-width: 0;\n}\n\n.fa__item-title {\n margin: 0;\n font-family: var(--typography-body-sm-font-family);\n font-size: var(--typography-body-sm-font-size);\n font-weight: var(--font-weight-semi-bold);\n line-height: var(--typography-body-sm-line-height);\n color: var(--fa-item-title-color);\n}\n\n.fa__item-subtitle {\n margin: 0;\n font-family: var(--typography-body-xs-font-family);\n font-size: var(--typography-body-xs-font-size);\n font-weight: var(--typography-body-xs-font-weight);\n line-height: var(--typography-body-xs-line-height);\n color: var(--fa-item-subtitle-color);\n}\n\n/* ── LAUREL LEAF ICON ────────────────────────────────────────── */\n\n.fa__leaf {\n flex-shrink: 0;\n width: 1.5rem;\n height: auto;\n display: block;\n user-select: none;\n}\n","/* ── Section shell ─────────────────────────────────────────── */\n\n.hcc-section {\n width: 100%;\n background-color: var(--color-slate-50);\n}\n\n/* ── Inner container ───────────────────────────────────────── */\n\n.hcc-container {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-48);\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n}\n\n@media (min-width: 768px) {\n .hcc-container {\n padding: var(--spacing-56) var(--spacing-24);\n }\n}\n\n@media (min-width: 992px) {\n .hcc-container {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Header ────────────────────────────────────────────────── */\n\n.hcc-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 .hcc-header {\n align-items: center;\n text-align: center;\n }\n}\n\n.hcc-sectionTitle {\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--text-primary);\n margin: 0;\n}\n\n.hcc-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/* ── Categories grid ──────────────────────────────────────────\n Column count is capped at 3 and driven by category count (see\n getColumnCount in HelpCentreCategories.tsx): 1 or 2 categories render in\n that many columns instead of stretching or leaving a sparse row; 3+\n categories always wrap to the standard 1 → 2 → 3 responsive grid, adding\n more rows as needed. ─────────────────────────────────────────────── */\n\n.hcc-grid {\n display: grid;\n grid-template-columns: 1fr;\n gap: var(--spacing-16);\n width: 100%;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n@media (min-width: 768px) {\n .hcc-grid--2,\n .hcc-grid--3 {\n grid-template-columns: repeat(2, 1fr);\n gap: var(--spacing-24);\n }\n}\n\n@media (min-width: 992px) {\n .hcc-grid--3 {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n\n.hcc-gridItem {\n display: flex;\n min-width: 0;\n}\n\n/* ── Category tile ─────────────────────────────────────────── */\n\n.hcc-tile {\n display: flex;\n flex: 1;\n flex-direction: column;\n align-items: flex-start;\n /* Icon pinned to the top, title pinned to the bottom — the gap between them\n grows to fill the tile's min-height rather than being a fixed value. */\n justify-content: space-between;\n gap: var(--spacing-32);\n width: 100%;\n min-width: 0;\n min-height: calc(11.5 * var(--spacing-16));\n box-sizing: border-box;\n padding: var(--spacing-24);\n background-color: var(--color-slate-75);\n border: none;\n border-radius: var(--radius-2xl);\n text-align: left;\n text-decoration: none;\n cursor: pointer;\n font: inherit;\n color: inherit;\n transition: transform 0.2s ease;\n}\n\n@media (min-width: 768px) {\n .hcc-tile {\n gap: var(--spacing-48);\n padding: var(--spacing-32);\n min-height: calc(14.5 * var(--spacing-16));\n }\n}\n\n@media (min-width: 992px) {\n .hcc-tile {\n min-height: calc(15 * var(--spacing-16));\n }\n}\n\n.hcc-tile:hover {\n transform: scale(0.98);\n}\n\n.hcc-tile:focus-visible {\n outline: 2px solid var(--color-coral-700);\n outline-offset: 2px;\n}\n\n.hcc-tile-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-48);\n height: var(--spacing-48);\n flex-shrink: 0;\n}\n\n.hcc-tile-iconImage {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: contain;\n}\n\n.hcc-tile-title {\n min-width: 0;\n width: 100%;\n font-family: var(--typography-h6-font-family);\n font-size: var(--typography-h6-font-size);\n font-weight: var(--typography-h6-font-weight);\n line-height: var(--typography-h6-line-height);\n color: var(--text-primary);\n overflow-wrap: break-word;\n}\n","/* ── Section shell ─────────────────────────────────────────── */\n\n.hcsc-section {\n width: 100%;\n background-color: var(--color-white);\n}\n\n/* ── Inner container ───────────────────────────────────────── */\n\n.hcsc-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-32);\n max-width: var(--content-width-1280);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n}\n\n@media (min-width: 768px) {\n .hcsc-container {\n padding: var(--spacing-56) var(--spacing-24);\n }\n}\n\n@media (min-width: 992px) {\n .hcsc-container {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Title ─────────────────────────────────────────────────── */\n\n.hcsc-title {\n font-family: var(--typography-h1-font-family);\n font-size: var(--typography-h1-font-size);\n font-weight: var(--typography-h1-font-weight);\n line-height: var(--typography-h1-line-height);\n color: var(--text-primary);\n text-align: center;\n margin: 0;\n width: 100%;\n}\n\n/* ── Search field wrapper ──────────────────────────────────── */\n\n.hcsc-searchWrap {\n width: 100%;\n max-width: var(--content-width-846);\n}\n\n.hcsc-searchWrap > * {\n width: 100%;\n}\n\n/* ── Question cards grid ───────────────────────────────────── */\n\n.hcsc-grid {\n display: grid;\n grid-template-columns: 1fr;\n gap: var(--spacing-16);\n width: 100%;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n@media (min-width: 768px) {\n .hcsc-grid {\n grid-template-columns: repeat(2, 1fr);\n gap: var(--spacing-24);\n }\n}\n\n@media (min-width: 992px) {\n .hcsc-grid {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n\n.hcsc-gridItem {\n display: flex;\n min-width: 0;\n}\n\n/* ── Question card ─────────────────────────────────────────── */\n\n.hcsc-card {\n display: flex;\n flex: 1;\n align-items: center;\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n padding: var(--spacing-24);\n background-color: var(--color-slate-75);\n border: none;\n border-radius: var(--radius-2xl);\n text-align: left;\n text-decoration: none;\n cursor: pointer;\n font: inherit;\n color: inherit;\n transition: transform 0.2s ease;\n}\n\n.hcsc-card:hover {\n transform: scale(0.98);\n}\n\n.hcsc-card:focus-visible {\n outline: 2px solid var(--color-coral-700);\n outline-offset: 2px;\n}\n\n.hcsc-card-text {\n min-width: 0;\n width: 100%;\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(--text-primary);\n overflow-wrap: break-word;\n}\n\n/* ── No results state ──────────────────────────────────────── */\n\n.hcsc-noResults {\n width: 100%;\n padding: var(--spacing-32) 0;\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 text-align: center;\n margin: 0;\n}\n","/* ============================================================\n HELP CENTER PAGE TEMPLATE\n Token inheritance:\n Primitive (core) → Semantic (--hcp-*) → Component styles\n\n Layout:\n Mobile (<768px) search bar → pill dropdown trigger → content\n (tapping the trigger opens the \"Articles in this\n section\" bottom sheet with the full question list)\n Tablet/Desktop (≥768px) search bar → [sidebar question table | content]\n\n Section padding follows the global three-step spec:\n mobile spacing-56 / spacing-16\n tablet spacing-56 / spacing-24\n desktop spacing-112 / spacing-24\n ============================================================ */\n\n:root {\n --hcp-max-width: var(--content-width-1280);\n\n --hcp-sidebar-width: 15.5rem; /* 248px */\n --hcp-sidebar-width-lg: 18.5rem; /* 296px */\n\n --hcp-card-bg: var(--color-slate-50);\n --hcp-card-border: var(--color-slate-100);\n --hcp-row-active-bg: var(--color-slate-75);\n --hcp-text-color: var(--text-primary);\n --hcp-muted-color: var(--color-slate-600);\n}\n\n/* ── Section shell ─────────────────────────────────────────── */\n\n.hcp-section {\n width: 100%;\n background-color: var(--color-slate-50);\n}\n\n/* ── Inner container ───────────────────────────────────────── */\n\n.hcp-container {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-40);\n max-width: var(--hcp-max-width);\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16);\n box-sizing: border-box;\n}\n\n@media (min-width: 768px) {\n .hcp-container {\n padding: var(--spacing-56) var(--spacing-24);\n }\n}\n\n@media (min-width: 992px) {\n .hcp-container {\n padding: var(--spacing-112) var(--spacing-24);\n }\n}\n\n/* ── Search field ─────────────────────────────────────────────\n Spans the full width of the container — matching the sidebar +\n content row below it, not a narrower centered box. */\n\n.hcp-searchWrap {\n width: 100%;\n}\n\n.hcp-searchWrap > * {\n width: 100%;\n}\n\n/* ── Body: sidebar + content ──────────────────────────────── */\n\n.hcp-body {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-24);\n width: 100%;\n}\n\n@media (min-width: 768px) {\n .hcp-body {\n flex-direction: row;\n gap: var(--spacing-40);\n }\n}\n\n/* ── Sidebar question table (tablet/desktop only) ────────────── */\n\n.hcp-sidebar {\n display: none;\n width: 100%;\n flex-shrink: 0;\n}\n\n@media (min-width: 768px) {\n .hcp-sidebar {\n display: block;\n width: var(--hcp-sidebar-width);\n }\n}\n\n@media (min-width: 992px) {\n .hcp-sidebar {\n width: var(--hcp-sidebar-width-lg);\n }\n}\n\n.hcp-sidebarCard {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n width: 100%;\n box-sizing: border-box;\n padding: var(--spacing-32);\n background-color: var(--hcp-card-bg);\n border: 1px solid var(--hcp-card-border);\n border-radius: var(--radius-2xl);\n /* Sticks alongside the (typically longer) content column while scrolling. */\n position: sticky;\n top: var(--spacing-24);\n}\n\n.hcp-sidebarTitle {\n margin: 0;\n font-family: var(--typography-h6-font-family);\n font-size: var(--typography-h6-font-size);\n font-weight: var(--typography-h6-font-weight);\n line-height: var(--typography-h6-line-height);\n color: var(--hcp-text-color);\n}\n\n.hcp-list {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-4);\n width: 100%;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.hcp-listItem {\n display: flex;\n min-width: 0;\n}\n\n/* ── Question row (shared by sidebar table + mobile sheet) ───── */\n\n.hcp-row {\n display: flex;\n align-items: center;\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n padding: var(--spacing-12) var(--spacing-16);\n background-color: transparent;\n border: none;\n border-radius: var(--radius-md);\n text-align: left;\n text-decoration: none;\n cursor: pointer;\n font: inherit;\n color: inherit;\n transition: background-color 0.15s ease;\n}\n\n.hcp-sidebarCard .hcp-row:hover {\n background-color: var(--color-slate-75);\n}\n\n.hcp-row--active {\n background-color: var(--hcp-row-active-bg);\n}\n\n.hcp-row:focus-visible {\n outline: 2px solid var(--color-coral-700);\n outline-offset: 2px;\n}\n\n.hcp-rowText {\n min-width: 0;\n width: 100%;\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(--hcp-text-color);\n overflow-wrap: break-word;\n}\n\n.hcp-row--active .hcp-rowText {\n font-weight: var(--font-weight-semi-bold);\n}\n\n/* ── Mobile category dropdown trigger ─────────────────────────\n Pill-shaped button that opens the \"Articles in this section\"\n bottom sheet — visually replaces the sidebar table on mobile. */\n\n.hcp-mobileToggle {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--spacing-8);\n width: 100%;\n box-sizing: border-box;\n padding: var(--spacing-16) var(--spacing-24);\n background-color: var(--color-slate-75);\n border: none;\n border-radius: var(--radius-full);\n cursor: pointer;\n font: inherit;\n color: var(--hcp-text-color);\n transition: background-color 0.15s ease;\n}\n\n.hcp-mobileToggle:hover {\n background-color: var(--color-slate-100);\n}\n\n.hcp-mobileToggle:focus-visible {\n outline: 2px solid var(--color-coral-700);\n outline-offset: 2px;\n}\n\n@media (min-width: 768px) {\n .hcp-mobileToggle {\n display: none;\n }\n}\n\n.hcp-mobileToggleLabel {\n font-family: var(--typography-body-md-font-family);\n font-size: var(--typography-body-md-font-size);\n font-weight: var(--font-weight-semi-bold);\n line-height: var(--typography-body-md-line-height);\n}\n\n.hcp-mobileToggleChevron {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n color: var(--hcp-text-color);\n}\n\n/* ── Main content column ──────────────────────────────────── */\n\n.hcp-content {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-32);\n flex: 1 1 0%;\n min-width: 0;\n}\n\n.hcp-contentTitle {\n margin: 0;\n font-family: var(--typography-h2-font-family);\n font-size: var(--typography-h2-font-size);\n font-weight: var(--typography-h2-font-weight);\n line-height: var(--typography-h2-line-height);\n color: var(--hcp-text-color);\n}\n\n.hcp-contentBody {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n min-width: 0;\n}\n\n.hcp-blockHeading {\n margin: 0;\n font-family: var(--typography-h6-font-family);\n font-size: var(--typography-h6-font-size);\n font-weight: var(--typography-h6-font-weight);\n line-height: var(--typography-h6-line-height);\n color: var(--hcp-text-color);\n}\n\n.hcp-blockParagraph {\n margin: 0;\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(--hcp-text-color);\n overflow-wrap: break-word;\n}\n\n/* No extra gap between entries — list items sit at their natural\n line-height spacing, matching the reference's tightly-packed bullets. */\n.hcp-blockList {\n display: flex;\n flex-direction: column;\n margin: 0;\n padding-left: var(--spacing-24);\n}\n\n.hcp-blockListItem {\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(--hcp-text-color);\n overflow-wrap: break-word;\n}\n\n/* ── Mobile \"Articles in this section\" sheet list ────────────── */\n\n.hcp-sheetList {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-4);\n list-style: none;\n margin: 0;\n padding: var(--spacing-8) var(--spacing-16) var(--spacing-16);\n}\n\n.hcp-sheetItem {\n display: flex;\n min-width: 0;\n}\n\n.hcp-sheetItem .hcp-row {\n padding: var(--spacing-16) var(--spacing-8);\n border-radius: var(--radius-md);\n}\n\n.hcp-sheetItem .hcp-row:hover {\n background-color: var(--color-slate-75);\n}\n\n/* ── Empty search state ───────────────────────────────────── */\n\n.hcp-noResults {\n width: 100%;\n padding: var(--spacing-16) var(--spacing-8);\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(--hcp-muted-color);\n text-align: center;\n margin: 0;\n}\n"],"mappings":"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","names":[]}