/* TreatingFoodAllergy components. Every value is a token from tokens.css. */
.tfa-icon, .tfa-logo { flex: none; display: block; }
[class^="tfa-"], [class*=" tfa-"] { box-sizing: border-box; }
.tfa-btn, .tfa-badge, .tfa-input, .tfa-card, .tfa-tabs, .tfa-list, .tfa-dropdown, .tfa-pagination, .tfa-stepper, .tfa-menu, .tfa-sheet, .tfa-popup, .tfa-nav, .tfa-callout, .tfa-table, .tfa-imagecard, .tfa-sources, .tfa-faq { font-family: var(--font-sans); color: var(--text-primary-black); }

/* Button: heights 56/48/40/32/24, pill ends, hover drops the corner to radius-sm (as drawn in the file) */
.tfa-btn { display: inline-flex; align-items: center; justify-content: center; border: 1.5px solid transparent; border-radius: var(--radius-pill); cursor: pointer; font-family: var(--font-sans); font-weight: 600; white-space: nowrap; transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
.tfa-btn__text { padding: 0 var(--spacing-xs); }
.tfa-btn--giant { height: var(--size-button-giant); padding: 0 var(--spacing-xl); font-size: 18px; line-height: 24px; }
.tfa-btn--large { height: var(--size-button-large); padding: 0 var(--spacing-lg); font-size: 16px; line-height: 20px; }
.tfa-btn--medium { height: var(--size-button-medium); padding: 0 var(--spacing-md); font-size: 14px; line-height: 16px; }
.tfa-btn--small { height: var(--size-button-small); padding: 0 var(--spacing-sm); font-size: 12px; line-height: 16px; }
.tfa-btn--tiny { height: var(--size-button-tiny); padding: 0 var(--spacing-xs); font-size: 10px; line-height: 12px; }
.tfa-btn--icon.tfa-btn--giant { width: var(--size-button-giant); padding: 0; }
.tfa-btn--icon.tfa-btn--large { width: var(--size-button-large); padding: 0; }
.tfa-btn--icon.tfa-btn--medium { width: var(--size-button-medium); padding: 0; }
.tfa-btn--icon.tfa-btn--small { width: var(--size-button-small); padding: 0; }
.tfa-btn--icon.tfa-btn--tiny { width: var(--size-button-tiny); padding: 0; }
.tfa-btn--filled { background: var(--primary-500); color: var(--text-primary-white); }
.tfa-btn--filled:hover:not(:disabled) { background: var(--primary-400); }
.tfa-btn--filled:active { background: var(--primary-600); }
.tfa-btn--filled:focus-visible { background: var(--primary-700); }
.tfa-btn--filled:disabled { background: var(--primary-800); color: var(--text-grey); }
.tfa-btn--outline { background: transparent; color: var(--primary-900); border-color: var(--primary-900); }
.tfa-btn--outline:hover:not(:disabled) { background: var(--primary-900); border-color: var(--primary-900); color: var(--text-primary-white); }
.tfa-btn--outline:active:not(:disabled) { background: var(--primary-800); border-color: var(--primary-800); color: var(--text-primary-white); }
.tfa-btn--outline:focus-visible { border-color: var(--primary-900); }
.tfa-btn--outline:disabled { color: var(--text-grey); border-color: var(--grey-200); }
.tfa-btn--clear { background: transparent; color: var(--text-accent); }
.tfa-btn--clear:hover:not(:disabled) { background: var(--primary-50); }
.tfa-btn--clear:active { background: var(--primary-50); }
.tfa-btn--clear:focus-visible { background: var(--white-100); }
.tfa-btn--clear:disabled { color: var(--text-grey); }
.tfa-btn--filled.tfa-btn--brand { background: var(--primary-900); }
.tfa-btn--filled.tfa-btn--brand:hover:not(:disabled) { background: var(--primary-800); }
.tfa-btn--filled.tfa-btn--brand:active:not(:disabled) { background: var(--primary-700); }
.tfa-btn--filled.tfa-btn--brand:focus-visible { background: var(--primary-800); }
.tfa-btn--giant, .tfa-btn--medium, .tfa-btn--small, .tfa-btn--tiny { letter-spacing: -0.96px; }
.tfa-btn:disabled { cursor: not-allowed; }
.tfa-btn:focus-visible, .tfa-page:focus-visible, .tfa-tab:focus-visible, .tfa-dropdown__trigger:focus-visible, .tfa-stepper__btn:focus-visible, .tfa-faq__q:focus-visible, .tfa-sheet__action:focus-visible, .tfa-sheet__cancel:focus-visible, .tfa-menu__item:focus-visible, .tfa-dropdown__item:focus-visible { outline: 3px solid var(--grey-900); outline-offset: 2px; }

/* Badge & Chip */
.tfa-badge { display: inline-flex; align-items: center; gap: var(--spacing-xxs); border: 1.5px solid transparent; border-radius: var(--radius-pill); font-weight: 500; white-space: nowrap; }
.tfa-badge--medium { height: var(--size-button-medium); padding: 0 var(--spacing-sm); font-size: 14px; line-height: 16px; }
.tfa-badge--small { height: var(--size-button-small); padding: 0 var(--spacing-xs); font-size: 12px; line-height: 16px; }
.tfa-badge--tiny { height: var(--size-button-tiny); padding: 0 var(--spacing-xs); font-size: 10px; line-height: 14px; }
.tfa-badge--icon.tfa-badge--medium { width: var(--size-button-medium); justify-content: center; padding: 0; }
.tfa-badge--icon.tfa-badge--small { width: var(--size-button-small); justify-content: center; padding: 0; }
.tfa-badge--icon.tfa-badge--tiny { width: var(--size-button-tiny); justify-content: center; padding: 0; }
.tfa-badge__text { padding: 0 var(--spacing-xxs); }
.tfa-badge--filled.tfa-badge--default { background: var(--primary-50); color: var(--primary-700); }
.tfa-badge--filled.tfa-badge--success { background: var(--green-50); color: var(--green-800); }
.tfa-badge--filled.tfa-badge--warning { background: var(--yellow-50); color: var(--yellow-800); }
.tfa-badge--filled.tfa-badge--error { background: var(--red-50); color: var(--red-700); }
.tfa-badge--filled.tfa-badge--info { background: var(--blue-50); color: var(--blue-700); }
.tfa-badge--outline { background: var(--white-100); }
.tfa-badge--outline.tfa-badge--default { border-color: var(--primary-500); color: var(--primary-700); }
.tfa-badge--outline.tfa-badge--success { border-color: var(--green-500); color: var(--green-800); }
.tfa-badge--outline.tfa-badge--warning { border-color: var(--yellow-500); color: var(--yellow-800); }
.tfa-badge--outline.tfa-badge--error { border-color: var(--red-500); color: var(--red-700); }
.tfa-badge--outline.tfa-badge--info { border-color: var(--blue-500); color: var(--blue-700); }

/* Input */
.tfa-input { display: flex; flex-direction: column; gap: var(--spacing-xs); width: 100%; max-width: 350px; }
.tfa-input__label { font-size: 14px; line-height: 20px; font-weight: 500; color: var(--text-primary-black); }
.tfa-input__field { display: flex; align-items: center; gap: var(--spacing-sm); border: 1.5px solid var(--grey-200); background: var(--surface-white); color: var(--text-secondary-dark-grey); }
.tfa-input--large .tfa-input__field { min-height: var(--size-button-large); padding: var(--spacing-sm); border-radius: var(--radius-sm); }
.tfa-input--medium .tfa-input__field { min-height: var(--size-button-medium); padding: var(--spacing-xs) var(--spacing-sm); border-radius: var(--radius-xs); }
.tfa-input--filled .tfa-input__field { background: var(--surface-grey); }
.tfa-input__control { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-family: var(--font-sans); font-size: 16px; line-height: 24px; color: var(--text-primary-black); padding: 0; }
.tfa-input__control::placeholder { color: var(--text-secondary-dark-grey); opacity: 1; }
.tfa-input__field:hover { border-color: var(--grey-400); }
.tfa-input__field:focus-within { border-color: var(--grey-900); }
.tfa-input__helper { font-size: 14px; line-height: 20px; color: var(--text-secondary-dark-grey); }
.tfa-input--success .tfa-input__field { border-color: var(--green-500); }
.tfa-input--success .tfa-input__helper { color: var(--green-800); }
.tfa-input--info .tfa-input__field { border-color: var(--blue-500); }
.tfa-input--info .tfa-input__helper { color: var(--blue-700); }
.tfa-input--warning .tfa-input__field { border-color: var(--yellow-500); }
.tfa-input--warning .tfa-input__helper { color: var(--yellow-800); }
.tfa-input--error .tfa-input__field { border-color: var(--red-500); }
.tfa-input--error .tfa-input__helper { color: var(--red-700); }
.tfa-input.is-disabled .tfa-input__field { background: var(--surface-grey); border-color: var(--grey-200); color: var(--text-grey); }
.tfa-input.is-disabled .tfa-input__control, .tfa-input.is-disabled .tfa-input__control::placeholder { color: var(--text-grey); }

/* Card */
.tfa-card { display: flex; flex-direction: column; width: 350px; max-width: 100%; background: var(--surface-white); border-radius: var(--radius-sm); box-shadow: var(--shadow-100); overflow: hidden; }
.tfa-card__image { display: block; width: 100%; height: 200px; object-fit: cover; }
.tfa-card__content { display: flex; flex-direction: column; gap: var(--spacing-xl); padding: var(--spacing-xl); }
.tfa-card__text { display: flex; flex-direction: column; gap: var(--spacing-xxs); }
.tfa-card__title { margin: 0; font-size: 16px; line-height: 24px; font-weight: 600; }
.tfa-card__desc { margin: 0; font-size: 14px; line-height: 20px; color: var(--text-secondary-dark-grey); }
.tfa-card__actions { display: flex; flex-direction: column; gap: var(--spacing-md); }
.tfa-card__actions .tfa-btn { width: 100%; }

/* Tabs */
.tfa-tabs { display: inline-flex; }
.tfa-tab { display: inline-flex; align-items: center; gap: var(--spacing-xs); height: var(--size-button-medium); padding: 0 var(--spacing-sm); border: 0; border-radius: var(--radius-lg); background: transparent; color: var(--text-secondary-dark-grey); font-family: var(--font-sans); font-size: 14px; line-height: 16px; font-weight: 600; cursor: pointer; }
.tfa-tab.is-selected { background: var(--primary-500); color: var(--text-primary-white); }
.tfa-tabs--line { border-bottom: 1.5px solid var(--grey-200); }
.tfa-tabs--line .tfa-tab { border-radius: 0; margin-bottom: -1.5px; border-bottom: 1.5px solid transparent; }
.tfa-tabs--line .tfa-tab.is-selected { background: transparent; color: var(--text-accent); border-bottom-color: var(--primary-500); }

/* List */
.tfa-list { list-style: none; margin: 0; padding: 0; width: 350px; max-width: 100%; background: var(--surface-grey); border-radius: var(--radius-xs); overflow: hidden; }
.tfa-list__row { display: flex; align-items: center; justify-content: space-between; gap: var(--spacing-sm); min-height: 56px; padding: var(--spacing-xxs) var(--spacing-md) var(--spacing-xxs) var(--spacing-sm); border-bottom: 1.5px solid var(--grey-100); }
.tfa-list__row:last-child { border-bottom: 0; }
.tfa-list__left, .tfa-list__right { display: inline-flex; align-items: center; gap: var(--spacing-sm); }
.tfa-list__title { font-size: 16px; line-height: 24px; }
.tfa-list__detail { font-size: 16px; line-height: 24px; color: var(--text-secondary-dark-grey); }

/* Dropdown */
.tfa-dropdown { position: relative; width: 350px; max-width: 100%; }
.tfa-dropdown__trigger { display: flex; align-items: center; gap: var(--spacing-sm); width: 100%; min-height: var(--size-button-large); padding: var(--spacing-sm); border: 1.5px solid var(--grey-200); border-radius: var(--radius-sm); background: var(--surface-white); font-family: var(--font-sans); font-size: 16px; line-height: 24px; color: var(--text-primary-black); text-align: left; cursor: pointer; }
.tfa-dropdown__trigger:hover { border-color: var(--grey-400); }
.tfa-dropdown.is-open .tfa-dropdown__trigger { border-color: var(--grey-900); }
.tfa-dropdown__value { flex: 1; }
.tfa-dropdown__value.is-placeholder { color: var(--text-secondary-dark-grey); }
.tfa-dropdown.is-disabled .tfa-dropdown__trigger { color: var(--text-grey); cursor: not-allowed; }
.tfa-dropdown.is-disabled .tfa-dropdown__value { color: var(--text-grey); }
.tfa-dropdown__menu { position: absolute; z-index: 2; top: calc(100% + var(--spacing-xs)); left: 0; right: 0; list-style: none; margin: 0; padding: var(--spacing-xs) 0; background: var(--surface-white); border-radius: var(--radius-xs); box-shadow: var(--shadow-300); }
.tfa-dropdown__item { display: flex; align-items: center; gap: var(--spacing-sm); min-height: var(--size-button-large); padding: var(--spacing-sm) var(--spacing-md); cursor: pointer; font-size: 16px; line-height: 24px; }
.tfa-dropdown__item:hover { background: var(--surface-grey); }
.tfa-dropdown__label { flex: 1; }
.tfa-dropdown__check { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border: 1.5px solid var(--primary-500); border-radius: var(--radius-xs); color: var(--primary-700); }
.tfa-dropdown__item.is-selected .tfa-dropdown__check { background: var(--primary-50); }

/* Pagination */
.tfa-pagination { display: inline-flex; gap: var(--spacing-xs); }
.tfa-page { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: var(--radius-xl); background: transparent; color: var(--text-primary-black); font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 500; cursor: pointer; }
.tfa-page:hover { background: var(--surface-grey); }
.tfa-page.is-current { background: var(--primary-500); color: var(--text-primary-white); }
.tfa-page:disabled { color: var(--text-grey); cursor: not-allowed; background: transparent; }

/* Page Control */
.tfa-pagecontrol { display: inline-flex; align-items: center; gap: var(--spacing-xs); padding: var(--spacing-xs) var(--spacing-sm); background: var(--surface-grey); border-radius: var(--radius-sm); }
.tfa-pagecontrol.is-vertical { flex-direction: column; padding: var(--spacing-sm) var(--spacing-xs); }
.tfa-dot { width: 8px; height: 8px; border-radius: var(--radius-pill); background: var(--primary-200); }
.tfa-dot.is-current { background: var(--primary-500); }

/* Stepper */
.tfa-stepper { display: inline-flex; align-items: center; gap: var(--spacing-sm); height: var(--size-button-small); padding: 0 var(--spacing-sm); background: var(--surface-grey); border-radius: var(--radius-xs); }
.tfa-stepper__btn { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; padding: 0; border: 0; background: transparent; color: var(--icon-black); cursor: pointer; border-radius: var(--radius-xxs); }
.tfa-stepper__btn:disabled { color: var(--icon-grey); cursor: not-allowed; }
.tfa-stepper__divider { width: 1.5px; height: var(--size-button-small); background: var(--grey-300); }
.tfa-stepper__value { min-width: 24px; text-align: center; font-size: 14px; line-height: 20px; font-weight: 500; }

/* Context Menu */
.tfa-menu { list-style: none; margin: 0; padding: var(--spacing-xs) 0; width: 240px; max-width: 100%; background: var(--surface-white); border-radius: var(--radius-xs); box-shadow: var(--shadow-400); }
.tfa-menu__item { display: flex; align-items: center; justify-content: space-between; gap: var(--spacing-sm); min-height: var(--size-button-large); padding: var(--spacing-sm); font-size: 16px; line-height: 24px; cursor: pointer; }
.tfa-menu__item:hover { background: var(--surface-grey); }
.tfa-menu__item.is-right { justify-content: flex-start; flex-direction: row-reverse; }
.tfa-menu__item.is-right .tfa-menu__label { flex: 1; text-align: right; }

/* Action Sheet */
.tfa-sheet { display: flex; flex-direction: column; gap: var(--spacing-md); width: 350px; max-width: 100%; }
.tfa-sheet__actions { display: flex; flex-direction: column; background: var(--surface-white); border-radius: var(--radius-xs); box-shadow: var(--shadow-500); overflow: hidden; }
.tfa-sheet__action { height: var(--size-button-large); border: 0; border-bottom: 1.5px solid var(--grey-100); background: transparent; color: var(--text-accent); font-family: var(--font-sans); font-size: 16px; line-height: 20px; font-weight: 600; cursor: pointer; }
.tfa-sheet__action:last-child { border-bottom: 0; }
.tfa-sheet__action:hover { background: var(--surface-grey); }
.tfa-sheet__cancel { height: var(--size-button-large); border: 0; border-radius: var(--radius-xs); background: var(--surface-white); box-shadow: var(--shadow-500); color: var(--text-primary-black); font-family: var(--font-sans); font-size: 16px; line-height: 20px; font-weight: 600; cursor: pointer; }

/* Pop-Up */
.tfa-popup { display: flex; flex-direction: column; gap: var(--spacing-xl); width: 350px; max-width: 100%; padding: var(--spacing-xl); background: var(--surface-grey); border: 1.5px solid var(--grey-100); border-radius: var(--radius-sm); }
.tfa-popup__text { display: flex; flex-direction: column; gap: var(--spacing-xxs); }
.tfa-popup__title { margin: 0; font-size: 18px; line-height: 28px; font-weight: 600; }
.tfa-popup__message { margin: 0; font-size: 16px; line-height: 24px; color: var(--text-secondary-dark-grey); }
.tfa-popup__buttons { display: flex; flex-direction: column; gap: var(--spacing-md); }
.tfa-popup.is-horizontal .tfa-popup__buttons { flex-direction: row; }
.tfa-popup__buttons .tfa-btn { flex: none; width: 100%; }
.tfa-popup.is-horizontal .tfa-popup__buttons .tfa-btn { flex: 1; width: auto; }

/* Nav */
.tfa-nav { display: flex; align-items: center; justify-content: space-between; gap: var(--spacing-xl); height: 72px; padding: 0 80px; background: var(--surface-white); color: var(--primary-900); }
.tfa-nav.is-mobile { height: 56px; padding: var(--spacing-md) var(--spacing-lg); }
.tfa-nav .tfa-logo { color: var(--brand-900); }
.tfa-nav__menu { display: inline-flex; padding: 0; border: 0; background: transparent; color: var(--primary-900); cursor: pointer; }
.tfa-nav__links { display: flex; align-items: center; gap: 28px; flex: none; }
.tfa-nav__link { white-space: nowrap; font-size: 18px; line-height: 24px; letter-spacing: -0.2px; color: var(--primary-900); text-decoration: none; }

.tfa-nav__cta { display: flex; gap: var(--spacing-xs); }

/* Callout: The short answer */
.tfa-callout { display: flex; flex-direction: column; gap: var(--spacing-md); max-width: 755px; padding: 32px var(--spacing-xl); background: var(--blue-50); border-radius: var(--radius-sm); color: var(--primary-900); }
.tfa-callout__label { font-size: 16px; line-height: 24px; font-weight: 600; text-transform: uppercase; }
.tfa-callout__body { font-size: 16px; line-height: 24px; letter-spacing: -0.2px; }
.tfa-callout__body p { margin: 0 0 var(--spacing-md); }
.tfa-callout__body p:last-child { margin-bottom: 0; }
.tfa-callout__body strong { color: var(--brand-900); font-weight: 700; }

/* Data table */
.tfa-table { width: 100%; max-width: 1280px; color: var(--primary-900); }
.tfa-table__head { display: flex; gap: 50px; padding: 25px 48px 18px; background: var(--surface-grey); border: 1px solid var(--brand-100); border-radius: 10px 10px 0 0; }
.tfa-table__body { display: flex; flex-direction: column; border: 1px solid var(--brand-100); border-top: 0; padding: 32px 0; gap: 19px; }
.tfa-table__row { display: flex; gap: 52px; padding: 0 48px; }
.tfa-table__row + .tfa-table__row { border-top: 1px solid var(--brand-100); padding-top: 19px; }
.tfa-table__hcell, .tfa-table__cell { flex: 1; min-width: 0; }
.tfa-table.is-two .tfa-table__hcell { font-size: 24px; line-height: 28px; }
.tfa-table.is-two .tfa-table__cell { font-size: 20px; line-height: 24px; }
.tfa-table.is-two .tfa-table__cell:first-child { font-weight: 700; }
.tfa-table.is-three .tfa-table__head, .tfa-table.is-three .tfa-table__body { border-color: var(--brand-200); }
.tfa-table.is-three .tfa-table__row + .tfa-table__row { border-top-color: var(--brand-200); }
.tfa-table.is-three .tfa-table__hcell { font-size: 20px; line-height: 28px; font-weight: 600; }
.tfa-table.is-three .tfa-table__cell { font-size: 16px; line-height: 24px; }

/* Image card */
.tfa-imagecard { display: flex; flex-direction: column; gap: var(--spacing-lg); width: 414px; max-width: 100%; }
.tfa-imagecard__image { display: block; width: 100%; aspect-ratio: 414 / 388; object-fit: cover; }
.tfa-imagecard__content { display: flex; flex-direction: column; gap: var(--spacing-sm); }
.tfa-imagecard__step { font-size: 14px; line-height: 16px; font-weight: 500; text-transform: uppercase; color: var(--brand-900); }
.tfa-imagecard__title { margin: 0; font-size: 24px; line-height: 28px; letter-spacing: -0.96px; font-weight: 400; color: var(--brand-900); }
.tfa-imagecard__text { margin: 0; font-size: 16px; line-height: 24px; color: var(--brand-700); }

/* Sources */
.tfa-sources { display: flex; flex-direction: column; gap: var(--spacing-sm); padding: var(--spacing-md) 0; color: var(--primary-900); }
.tfa-sources__title { margin: 0; padding-bottom: var(--spacing-md); border-bottom: 1px solid var(--grey-900); font-size: 20px; line-height: 28px; font-weight: 600; text-transform: uppercase; }
.tfa-sources.is-mobile .tfa-sources__title { border-bottom-color: var(--brand-100); font-size: 16px; line-height: 24px; font-weight: 500; }
.tfa-sources__text { margin: 0; font-size: 16px; line-height: 24px; }

/* FAQ */
.tfa-faq { display: flex; flex-direction: column; gap: var(--spacing-md); width: 572px; max-width: 100%; color: var(--primary-900); }
.tfa-faq__item { border-bottom: 1px solid var(--primary-100); padding: var(--spacing-md) 0; }
.tfa-faq__q { display: flex; align-items: center; justify-content: space-between; gap: var(--spacing-md); width: 100%; padding: 0; border: 0; background: transparent; color: inherit; font-family: var(--font-sans); font-size: 20px; line-height: 28px; font-weight: 600; text-align: left; cursor: pointer; }
.tfa-faq__a { margin: var(--spacing-sm) 0 0; font-size: 16px; line-height: 24px; }

.tfa-faq.is-dark { gap: 0; width: 636px; padding: 36px 32px 44px; background: var(--primary-900); color: var(--text-primary-white); border-radius: var(--radius-lg); }
.tfa-faq.is-dark .tfa-faq__item { border-bottom-color: var(--primary-200); padding: var(--spacing-md) 0 var(--spacing-sm); }
.tfa-faq.is-dark .tfa-faq__q { font-size: 16px; line-height: 24px; letter-spacing: -0.2px; }
.tfa-faq.is-dark .tfa-faq__q:focus-visible { outline-color: var(--white-100); }

/* Unified CTA size, arrow in every button, arrow extends on hover */
.tfa-btn:not(.tfa-btn--icon):not(.tfa-btn--small):not(.tfa-btn--tiny) { height: 52px; min-width: 220px; width: fit-content; max-width: 100%; align-self: flex-start; padding: 0 20px; font-size: 16px; line-height: 20px; letter-spacing: -0.2px; gap: 4px; box-sizing: border-box; }
.nav-cta .tfa-btn:not(.tfa-btn--icon):not(.tfa-btn--small):not(.tfa-btn--tiny) { width: 100%; align-self: stretch; }
.tfa-nav .tfa-nav__cta .tfa-btn:not(.tfa-btn--icon):not(.tfa-btn--small):not(.tfa-btn--tiny) { min-width: 0; }
.tfa-btn__arrow { display: inline-flex; width: 24px; height: 24px; flex: none; }
.tfa-btn__arrow--left { transform: scaleX(-1); }
.tfa-arrow__shaft { transform-origin: 4px 12px; transition: transform .2s ease; }
.tfa-arrow__head { transition: transform .2s ease; }
.tfa-btn:hover:not(:disabled) .tfa-arrow__shaft, .tfa-btn:focus-visible .tfa-arrow__shaft { transform: scaleX(1.5); }
.tfa-btn:hover:not(:disabled) .tfa-arrow__head, .tfa-btn:focus-visible .tfa-arrow__head { transform: translateX(6px); }
@media (prefers-reduced-motion: reduce) { .tfa-btn, .tfa-arrow__shaft, .tfa-arrow__head { transition: none; } }

/* Footer */
.tfa-footer { font-family: var(--font-sans); }
.tfa-footer__more { background: #e9f4fe; padding: 64px 80px; display: flex; flex-direction: column; gap: 40px; }
.tfa-footer__title { margin: 0; font-size: 40px; line-height: 44px; font-weight: 400; letter-spacing: -2.4px; color: #001966; }
.tfa-footer__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; }
.tfa-footer__col { display: flex; flex-direction: column; gap: 16px; }
.tfa-footer__group { font-size: 20px; line-height: 26px; font-weight: 700; color: #001966; }
.tfa-footer__link { font-size: 18px; line-height: 26px; font-weight: 600; color: #1341cd; text-decoration: none; }
.tfa-footer__link:hover { text-decoration: underline; }
.tfa-footer__link:focus-visible { outline: 3px solid #131927; outline-offset: 2px; }
.tfa-footer__base { background: var(--brand-900); color: #ffffff; padding: 48px 80px 64px; display: flex; flex-direction: column; gap: 32px; }
.tfa-footer__note { margin: 0; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.5); font-size: 14px; line-height: 20px; letter-spacing: -0.2px; color: #ffffff; }
.tfa-footer.is-mobile .tfa-footer__more { padding: 40px 20px; gap: 28px; }
.tfa-footer.is-mobile .tfa-footer__title { font-size: 32px; line-height: 36px; letter-spacing: -1.6px; }
.tfa-footer.is-mobile .tfa-footer__cols { grid-template-columns: 1fr; gap: 32px; }
.tfa-footer.is-mobile .tfa-footer__link { display: flex; align-items: center; min-height: 44px; }
.tfa-footer.is-mobile .tfa-footer__base { padding: 32px 20px 40px; }
.tfa-footer.is-mobile .tfa-footer__col { gap: 0; }
.tfa-footer.is-mobile .tfa-footer__group { margin-bottom: 8px; }
.tfa-footer.is-mobile .tfa-footer__link { font-size: 17px; line-height: 24px; }

/* Text-link arrows: extend on hover like button arrows */
a:hover .lnk-arrow .tfa-arrow__shaft, a:focus-visible .lnk-arrow .tfa-arrow__shaft { transform: scaleX(1.5); }
a:hover .lnk-arrow .tfa-arrow__head, a:focus-visible .lnk-arrow .tfa-arrow__head { transform: translateX(6px); }

/* Focus rings: every link, chip, button and card link shows a clear keyboard focus */
a:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible { outline: 3px solid #131927; outline-offset: 3px; }
a.card-link:focus-visible { outline: none; }
a.card-link:focus-visible > div { outline: 3px solid #131927; outline-offset: 3px; }
a.chip:focus-visible { outline-offset: 2px; }
a.card-link:hover .next-card h3, a.card-link:focus-visible .next-card h3 { color: #ffffff !important; }

/* ===== Responsive layer =====
   Breakpoints (used everywhere, nowhere else):
   desktop  1200px and up
   tablet   640px to 1199px
   phone    639px and below
   (the main menu also collapses to a button at 1023px and below) */

@media (max-width: 1199px) {
  [style*="padding: 0 80px 40px;"],[style*="padding: 0px 80px 40px;"]{padding:0 40px 40px !important}
  [style*="padding: 0 80px 56px;"],[style*="padding: 0px 80px 56px;"]{padding:0 40px 48px !important}
  [style*="padding: 0 80px 88px;"],[style*="padding: 0px 80px 88px;"]{padding:0 40px 64px !important}
  [style*="padding: 12px 80px;"]{padding:12px 40px !important}
  [style*="padding: 14px 80px;"]{padding:14px 40px !important}
  [style*="padding: 16px 48px 24px;"]{padding:16px 36px 24px !important}
  [style*="padding: 36px 44px;"]{padding:36px 32px !important}
  [style*="padding: 40px 48px;"]{padding:40px 36px !important}
  [style*="padding: 40px 80px 88px;"]{padding:40px 40px 64px !important}
  [style*="padding: 48px 80px 40px;"]{padding:48px 40px 40px !important}
  [style*="padding: 56px;"]{padding:48px !important}
  [style*="padding: 56px 80px 96px;"]{padding:48px 40px 96px !important}
  [style*="padding: 72px 80px;"]{padding:56px 40px !important}
  [style*="padding: 72px 80px 40px;"]{padding:56px 40px 40px !important}
  [style*="padding: 72px 80px 56px;"]{padding:56px 40px 48px !important}
  [style*="padding: 88px 80px;"]{padding:64px 40px !important}
  [style*="padding: 88px 80px 40px;"]{padding:64px 40px 40px !important}
  [style*="padding: 88px 80px 48px;"]{padding:64px 40px 48px !important}
  [style*="padding: 88px 80px 72px;"]{padding:64px 40px 56px !important}
  [style*="padding: 88px 80px 88px;"]{padding:64px 40px 64px !important}
  [style*="gap: 80px"]{gap:40px !important}
  [style*="gap: 72px"]{gap:36px !important}
  [style*="gap: 64px"]{gap:32px !important}
  [style*="gap: 56px"]{gap:32px !important}
  h1[style*="font-size: 64px"]{font-size:52px !important;line-height:54px !important;letter-spacing:-3.2px !important}
  h1[style*="font-size: 44px"]{font-size:38px !important;line-height:42px !important}
  h2[style*="font-size: 48px"]{font-size:40px !important;line-height:42px !important;letter-spacing:-2.6px !important}
  [style*="grid-template-columns: repeat(3, 1fr)"],[style*="grid-template-columns: repeat(4, 1fr)"]{grid-template-columns:repeat(2,1fr) !important}
  [style*="grid-template-columns: repeat(5, 1fr)"]{grid-template-columns:repeat(3,1fr) !important}
  [style*="grid-template-columns: 1fr 520px"],[style*="grid-template-columns: 1fr 480px"],[style*="grid-template-columns: 1fr 560px"],[style*="grid-template-columns: 420px 1fr"],[style*="grid-template-columns: 300px 1fr"]{grid-template-columns:1fr !important}
  [style*="grid-template-columns: 240px 1fr 1fr"],[style*="grid-template-columns: 230px 1fr 1fr"],[style*="grid-template-columns: 260px 1fr 1fr"],[style*="grid-template-columns: 200px 1fr 1fr"]{grid-template-columns:150px 1fr 1fr !important;gap:20px !important}
  [style*="grid-template-columns: 220px 1fr 1fr 1fr"],[style*="grid-template-columns: 220px 1fr 1fr 1.3fr"]{grid-template-columns:130px 1fr 1fr 1fr !important;gap:16px !important}
  [style*="grid-template-columns: 1.2fr 1fr 1fr 1fr 1fr"]{gap:12px !important}
  [style*="grid-template-columns: 220px 220px 1fr"]{grid-template-columns:1fr !important;gap:6px !important}
  [style*="border-radius: 24px; padding: 8px"],[style*="border-radius: 20px; padding: 8px"]{overflow-x:auto}
  [style*="grid-template-columns: 240px 1fr 1fr"],[style*="grid-template-columns: 230px 1fr 1fr"],[style*="grid-template-columns: 260px 1fr 1fr"],[style*="grid-template-columns: 1.6fr 1.2fr 1fr"]{min-width:560px}
  [style*="grid-template-columns: 220px 1fr 1fr 1fr"],[style*="grid-template-columns: 220px 1fr 1fr 1.3fr"],[style*="grid-template-columns: 1.2fr 1fr 1fr 1fr 1fr"]{min-width:640px}
  .tfa-nav { padding: 0 40px; position: sticky; }
  .tfa-footer__more { padding: 56px 40px; }
  .tfa-footer__base { padding: 40px 40px 56px; }
  .tfa-footer__cols { grid-template-columns: repeat(2, 1fr); gap: 32px 40px; }
  .tfa-footer__title { font-size: 34px; line-height: 38px; letter-spacing: -1.8px; }
}

@media (max-width: 639px) {
  [style*="padding: 0 80px 40px;"],[style*="padding: 0px 80px 40px;"]{padding:0 20px 24px !important}
  [style*="padding: 0 80px 56px;"],[style*="padding: 0px 80px 56px;"]{padding:0 20px 36px !important}
  [style*="padding: 0 80px 88px;"],[style*="padding: 0px 80px 88px;"]{padding:0 20px 48px !important}
  [style*="padding: 12px 36px;"]{padding:12px 20px !important}
  [style*="padding: 12px 40px;"]{padding:12px 20px !important}
  [style*="padding: 12px 80px;"]{padding:12px 20px !important}
  [style*="padding: 14px 80px;"]{padding:14px 20px !important}
  [style*="padding: 16px 36px;"]{padding:16px 20px !important}
  [style*="padding: 16px 48px 24px;"]{padding:16px 20px 24px !important}
  [style*="padding: 20px 28px;"]{padding:20px 20px !important}
  [style*="padding: 24px 28px;"]{padding:24px 20px !important}
  [style*="padding: 26px 28px 28px;"]{padding:26px 20px 28px !important}
  [style*="padding: 28px;"]{padding:20px !important}
  [style*="padding: 28px 32px;"]{padding:28px 20px !important}
  [style*="padding: 32px;"]{padding:20px !important}
  [style*="padding: 32px 36px;"]{padding:24px 20px !important}
  [style*="padding: 32px 40px;"]{padding:24px 20px !important}
  [style*="padding: 36px;"]{padding:20px !important}
  [style*="padding: 36px 40px;"]{padding:24px 20px !important}
  [style*="padding: 36px 44px;"]{padding:24px 20px !important}
  [style*="padding: 40px;"]{padding:20px !important}
  [style*="padding: 40px 48px;"]{padding:24px 20px !important}
  [style*="padding: 40px 80px 88px;"]{padding:24px 20px 48px !important}
  [style*="padding: 48px 80px 40px;"]{padding:36px 20px 24px !important}
  [style*="padding: 56px;"]{padding:20px !important}
  [style*="padding: 56px 80px 96px;"]{padding:36px 20px 24px !important}
  [style*="padding: 6px 28px;"]{padding:6px 20px !important}
  [style*="padding: 72px 80px;"]{padding:40px 20px !important}
  [style*="padding: 72px 80px 40px;"]{padding:40px 20px 24px !important}
  [style*="padding: 72px 80px 56px;"]{padding:40px 20px 36px !important}
  [style*="padding: 88px 80px;"]{padding:48px 20px !important}
  [style*="padding: 88px 80px 40px;"]{padding:48px 20px 24px !important}
  [style*="padding: 88px 80px 48px;"]{padding:48px 20px 36px !important}
  [style*="padding: 88px 80px 72px;"]{padding:48px 20px 40px !important}
  [style*="padding: 88px 80px 88px;"]{padding:48px 20px 48px !important}
  [style*="padding: 8px 28px;"]{padding:8px 20px !important}
  [style*="padding: 8px 32px;"]{padding:8px 20px !important}
  [style*="padding: 8px 40px;"]{padding:8px 20px !important}
  [style*="padding: 8px 40px 16px;"]{padding:8px 20px 16px !important}
  [style*="gap: 80px"],[style*="gap: 72px"],[style*="gap: 64px"],[style*="gap: 56px"]{gap:24px !important}
  [style*="column-gap: 40px"],[style*="gap: 40px;"]{gap:20px !important}
  h1[style*="font-size: 64px"]{font-size:38px !important;line-height:40px !important;letter-spacing:-2.2px !important}
  h1[style*="font-size: 52px"],h1[style*="font-size: 44px"]{font-size:32px !important;line-height:36px !important;letter-spacing:-1.8px !important}
  h2[style*="font-size: 48px"]{font-size:34px !important;line-height:36px !important;letter-spacing:-2px !important}
  [style*="font-size: 72px"],[style*="font-size: 60px"]{font-size:48px !important;line-height:52px !important;letter-spacing:-2.6px !important}
  div[style*="font-size: 52px"],div[style*="font-size: 48px"]{font-size:40px !important;line-height:44px !important;letter-spacing:-2.2px !important}
  div[style*="font-size: 36px"]{font-size:30px !important;line-height:34px !important}
  [style*="font-size: 32px"]{font-size:26px !important;line-height:30px !important}
  [style*="font-size: 28px; line-height: 32px"],[style*="font-size: 28px; line-height: 34px"]{font-size:24px !important;line-height:28px !important}
  [style*="font-size: 26px; line-height: 30px"]{font-size:22px !important;line-height:26px !important}
  [style*="font-size: 20px; line-height: 30px"]{font-size:17px !important;line-height:26px !important}
  [style*="font-size: 18px; line-height: 27px"]{font-size:16px !important;line-height:24px !important}
  [style*="justify-content: space-between"]{flex-wrap:wrap !important;row-gap:16px !important}
  [style*="grid-template-columns: 200px 1fr 1fr"]{grid-template-columns:1fr !important;gap:16px !important}
  [style*="display: flex; gap: 12px;"]{flex-wrap:wrap !important}
  [style*="grid-template-columns: repeat(3, 1fr)"],[style*="grid-template-columns: repeat(2, 1fr)"],[style*="grid-template-columns: 1fr 1fr;"],[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr !important}
  [style*="grid-template-columns: repeat(4, 1fr)"],[style*="grid-template-columns: repeat(5, 1fr)"]{grid-template-columns:repeat(2,1fr) !important}
  [style*="grid-template-columns: repeat(20, 1fr)"]{grid-template-columns:repeat(10,1fr) !important}
  .tfa-nav { padding: 0 20px; }
  .tfa-footer__more { padding: 40px 20px; gap: 28px; }
  .tfa-footer__base { padding: 32px 20px 40px; }
  .tfa-footer__cols { grid-template-columns: 1fr; gap: 28px; }
  .tfa-footer__link { display: flex; align-items: center; min-height: 44px; font-size: 17px; line-height: 24px; }
  .tfa-footer__title { font-size: 32px; line-height: 36px; letter-spacing: -1.6px; }
  .tfa-btn:not(.tfa-btn--icon):not(.tfa-btn--small):not(.tfa-btn--tiny) { min-width: 0; max-width: 100%; }
  a.chip { min-height: 44px; }
}

@media (max-width: 1023px) {
  .tfa-nav__links, .tfa-nav__cta { display: none; }
  .tfa-nav__details { display: block; }
}
/* Small-screen menu (a plain details element: works without scripting) */
.tfa-nav__details { display: none; position: static; }
.tfa-nav__summary { list-style: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; cursor: pointer; color: var(--primary-900); }
.tfa-nav__summary::-webkit-details-marker { display: none; }
.tfa-nav__panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 60; background: #ffffff; border-top: 1px solid var(--brand-100); box-shadow: var(--shadow-300); padding: 8px 40px 24px; display: flex; flex-direction: column; }
.tfa-nav__panel .tfa-nav__link { display: block; padding: 16px 0; border-bottom: 1px solid var(--brand-100); font-size: 18px; }
.tfa-nav__panel .tfa-btn { margin-top: 16px; width: 100%; align-self: stretch; }
@media (max-width: 639px) { .tfa-nav__panel { padding: 8px 20px 24px; } }
html { -webkit-text-size-adjust: 100%; }
nav[aria-label="On this page"] { overflow-x: auto; max-width: 100%; box-sizing: border-box; }
.tfa-footer__base a { max-width: 100%; }
.tfa-footer__base a svg { width: min(100%, 573px); height: auto; }
img { max-width: 100%; }

a.row-link > span:first-child { min-width: 0; flex: 1 1 0; overflow-wrap: anywhere; }

/* Card hover: titles (now headings) and icons turn white on the navy hover state */
a.card-link:hover .tile h3, a.card-link:focus-visible .tile h3 { color: #ffffff !important; }
a.card-link:hover .tile svg, a.card-link:focus-visible .tile svg { stroke: #ffffff; }

/* Small-screen menu: open and close icons, and the phone variant */
.tfa-nav__ico-close { display: none; }
.tfa-nav__details[open] .tfa-nav__ico-open { display: none; }
.tfa-nav__details[open] .tfa-nav__ico-close { display: block; }
.tfa-nav.is-mobile { position: sticky; }
.tfa-nav.is-mobile .tfa-nav__details { display: block; }
.tfa-nav.is-mobile .tfa-nav__panel { padding: 8px 20px 24px; }
.tfa-nav.is-mobile .tfa-nav__summary { margin-right: -10px; }
.tfa-nav__summary:focus-visible { outline: 3px solid #131927; outline-offset: 2px; border-radius: 8px; }

/* Tablet and below: show the menu button on the full-size nav (placed last so it wins over the base rule) */
@media (max-width: 1023px) {
  .tfa-nav:not(.is-mobile) .tfa-nav__details { display: block; }
  .tfa-nav:not(.is-mobile) .tfa-nav__links, .tfa-nav:not(.is-mobile) .tfa-nav__cta { display: none; }
}
@media (min-width: 1024px) {
  .tfa-nav:not(.is-mobile) .tfa-nav__details { display: none; }
}

/* ===== Subtle motion and sticky navigation ===== */
.tfa-nav { position: sticky; top: 0; z-index: 50; transition: box-shadow 0.25s ease; }
.tfa-nav.is-stuck { box-shadow: 0 1px 0 rgba(0, 25, 102, 0.06), 0 10px 28px -14px rgba(0, 25, 102, 0.22); }
a.chip { transition: background 0.2s ease, color 0.2s ease; }
a.chip.is-current { background: #212967; color: #ffffff; }
@keyframes tfa-rise { from { opacity: 0; transform: translate3d(0, var(--tfa-rise, 14px), 0); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  .tfa-rv { opacity: 0; }
  .tfa-rv.tfa-in { animation: tfa-rise 0.7s cubic-bezier(0.22, 0.7, 0.2, 1) both; }
}
@media (prefers-reduced-motion: reduce) { .tfa-rv { opacity: 1 !important; animation: none !important; } }
@media (max-width: 639px) { :root { --tfa-rise: 10px; } }
@media print { .tfa-rv { opacity: 1 !important; animation: none !important; } }

/* Quiz: the next question slides in from the right, the previous one from the left */
@keyframes slitInR0 { from { opacity: 0; transform: translateX(var(--slit-slide, 32px)); } to { opacity: 1; transform: none; } }
@keyframes slitInR1 { from { opacity: 0; transform: translateX(var(--slit-slide, 32px)); } to { opacity: 1; transform: none; } }
@keyframes slitInL0 { from { opacity: 0; transform: translateX(calc(var(--slit-slide, 32px) * -1)); } to { opacity: 1; transform: none; } }
@keyframes slitInL1 { from { opacity: 0; transform: translateX(calc(var(--slit-slide, 32px) * -1)); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  .slit-slide-next-0 { animation: slitInR0 0.42s cubic-bezier(0.22, 0.7, 0.2, 1) both; }
  .slit-slide-next-1 { animation: slitInR1 0.42s cubic-bezier(0.22, 0.7, 0.2, 1) both; }
  .slit-slide-prev-0 { animation: slitInL0 0.42s cubic-bezier(0.22, 0.7, 0.2, 1) both; }
  .slit-slide-prev-1 { animation: slitInL1 0.42s cubic-bezier(0.22, 0.7, 0.2, 1) both; }
}
@media (max-width: 639px) { :root { --slit-slide: 24px; } }

/* Desktop nav: links sit on the true centre of the page, logo left, button right */
@media (min-width: 1024px) {
  .tfa-nav:not(.is-mobile) { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
  .tfa-nav:not(.is-mobile) > a:first-child { justify-self: start; }
  .tfa-nav:not(.is-mobile) .tfa-nav__links { justify-self: center; }
  .tfa-nav:not(.is-mobile) .tfa-nav__cta { justify-self: end; }
}

/* ===== Nav: animated underline, current page, Treatments menu ===== */
.tfa-nav__link { background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat; background-position: 0 100%; background-size: 0 1.5px; padding-bottom: 3px; transition: background-size 0.25s ease; }
.tfa-nav__link:hover, .tfa-nav__link[aria-current="page"], .tfa-nav__trigger[aria-expanded="true"] { background-size: 100% 1.5px; }
.tfa-nav__link:focus-visible { outline: 3px solid #131927; outline-offset: 4px; border-radius: 4px; }
.tfa-nav__trigger { position: relative; display: inline-flex; align-items: center; gap: 6px; background-color: transparent; border: 0; border-radius: 0; font-family: inherit; cursor: pointer; margin: 0; }
.tfa-nav__trigger::after { content: ""; position: absolute; left: -16px; right: -16px; top: 100%; height: 48px; }
.tfa-nav__chev { transition: transform 0.2s ease; flex: none; }
.tfa-nav__trigger[aria-expanded="true"] .tfa-nav__chev, .tfa-nav__item:hover .tfa-nav__chev { transform: rotate(180deg); }
.tfa-mega { position: absolute; left: 50%; top: 100%; z-index: 60; width: min(800px, calc(100vw - 80px)); padding-top: 10px; transform: translate(-50%, 6px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s; }
.tfa-nav__item:hover .tfa-mega, .tfa-nav__item:focus-within .tfa-mega, .tfa-nav__item.is-open .tfa-mega { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
.tfa-nav__item.is-dismissed .tfa-mega { opacity: 0; visibility: hidden; pointer-events: none; }
.tfa-mega__card { background: #ffffff; border-radius: 20px; padding: 20px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 0 0 1px rgba(0, 25, 102, 0.06), 0 28px 60px -22px rgba(0, 25, 102, 0.30); }
.tfa-mega__all { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-radius: 12px; background: #e9f4fe; color: #001966; font-size: 16px; line-height: 24px; font-weight: 500; text-decoration: none; transition: background 0.2s ease; }
.tfa-mega__all:hover { background: #dcecfd; }
.tfa-mega__all svg { transition: transform 0.2s ease; }
.tfa-mega__all:hover svg { transform: translateX(3px); }
.tfa-mega__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 24px; }
.tfa-mega__group { font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.96px; text-transform: uppercase; color: #1341cd; padding: 6px 16px 6px; }
.tfa-mega__item { display: flex; flex-direction: column; gap: 2px; padding: 11px 16px; border-radius: 12px; text-decoration: none; color: #001966; transition: background 0.18s ease; }
.tfa-mega__item:hover, .tfa-mega__item:focus-visible { background: #F8F3EC; }
.tfa-mega__title { font-size: 16px; line-height: 22px; font-weight: 500; letter-spacing: -0.1px; }
.tfa-mega__desc { font-size: 14px; line-height: 20px; color: #4d5461; }
.tfa-mega a:focus-visible { outline: 3px solid #131927; outline-offset: -3px; }
/* menu inside the tablet / phone panel */
.tfa-nav__panel .tfa-nav__link { background-image: none; padding-bottom: 16px; }
.tfa-nav__sub { border-bottom: 1px solid var(--brand-100); }
.tfa-nav__subsum { list-style: none; display: flex; align-items: center; justify-content: space-between; padding: 16px 0; font-size: 18px; line-height: 24px; letter-spacing: -0.2px; color: var(--primary-900); cursor: pointer; }
.tfa-nav__subsum::-webkit-details-marker { display: none; }
.tfa-nav__sub[open] .tfa-nav__chev { transform: rotate(180deg); }
.tfa-nav__sublist { display: flex; flex-direction: column; padding: 0 0 10px 14px; }
.tfa-nav__sublist a { padding: 12px 0; font-size: 16px; line-height: 22px; color: #212967; text-decoration: none; border-top: 1px solid #e9f4fe; }
.tfa-nav__sublist a:first-child { border-top: 0; font-weight: 600; }
.tfa-nav__panel a[aria-current="page"], .tfa-nav__subsum[aria-current="page"] { color: #1341cd; font-weight: 600; }
@media (max-width: 1023px) { .tfa-mega { display: none; } }
@media (prefers-reduced-motion: reduce) { .tfa-mega, .tfa-nav__chev, .tfa-nav__link { transition: none; } }

/* Phone-only and desktop-only blocks (used for the two infographics) */
.tfa-phone-only { display: none; }
@media (max-width: 639px) { .tfa-phone-only { display: flex; } .tfa-desktop-only { display: none !important; } }

/* Footer legal row: copyright and legal links */
.tfa-footer__legal { display: flex; justify-content: space-between; align-items: center; gap: 12px 32px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, 0.5); font-size: 14px; line-height: 20px; letter-spacing: -0.2px; color: #ffffff; }
.tfa-footer__legal-links { display: flex; gap: 8px 28px; flex-wrap: wrap; }
.tfa-footer__legal-links a { color: #ffffff; text-decoration: none; background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat; background-position: 0 100%; background-size: 0 1px; padding-bottom: 2px; transition: background-size 0.25s ease; }
.tfa-footer__legal-links a:hover, .tfa-footer__legal-links a:focus-visible { background-size: 100% 1px; }
.tfa-footer__legal-links a:focus-visible { outline: 3px solid #ffffff; outline-offset: 4px; border-radius: 4px; }
@media (max-width: 639px) { .tfa-footer__legal { flex-direction: column; align-items: flex-start; } .tfa-footer__legal-links a { display: inline-flex; align-items: center; min-height: 44px; } }


/* ===== One responsive page per URL =====
   Desktop and mobile files were merged into a single page. These rules carry over
   the phone design (56px bar, single-line jump chips) that the separate mobile files had. */
nav[aria-label="On this page"] a.chip { flex: none; white-space: nowrap; }
nav[aria-label="On this page"] { scrollbar-width: none; }
nav[aria-label="On this page"]::-webkit-scrollbar { display: none; }
@media (max-width: 639px) {
  .tfa-nav:not(.is-mobile) { height: 56px; }
  .tfa-nav:not(.is-mobile) > a .tfa-logo { height: 24px; width: auto; }
  nav[aria-label="On this page"] { top: 56px !important; padding: 12px 20px !important; gap: 8px !important; }
  nav[aria-label="On this page"] > span { display: none; }
  html body .anchor { scroll-margin-top: 149px; }
  main h1 { overflow-wrap: anywhere; }
  main p[style*="font-size: 22px; line-height: 32px"] { font-size: 18px !important; line-height: 26px !important; }
  main [style*="grid-template-columns: repeat(4, 1fr); gap: 20px"] { grid-template-columns: 1fr !important; gap: 12px !important; }
}


/* ===== Accessibility (WCAG 2.2 AA) ===== */
/* Skip link: first thing a keyboard user reaches; hidden until focused. */
.skip-link { position: absolute; left: 16px; top: -100px; z-index: 1000; padding: 12px 20px; background: #001966; color: #ffffff; font: 600 16px/24px var(--font-sans, "Inter", system-ui, sans-serif); border-radius: 8px; text-decoration: none; }
.skip-link:focus { top: 12px; outline: 3px solid #ffffff; outline-offset: 2px; box-shadow: 0 0 0 6px #001966; }
main:focus { outline: none; }
/* Text only screen readers hear (for example "opens in a new tab"). */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* Keep keyboard focus from hiding under the sticky nav and jump bar (WCAG 2.4.11). */
html { scroll-padding-top: 160px; }
@media (max-width: 639px) { html { scroll-padding-top: 140px; } }
/* Visible focus for links and chips that had none of their own. */
a:focus-visible, summary:focus-visible, [role="radio"]:focus-visible, [role="checkbox"]:focus-visible { outline: 3px solid #131927; outline-offset: 2px; }
/* Dropdown: the highlighted option while moving with the keyboard. */
.tfa-dropdown__menu:focus { outline: none; }
.tfa-dropdown__item.is-active { background: var(--surface-grey); box-shadow: inset 3px 0 0 #1341cd; }
@media (forced-colors: active) { .tfa-dropdown__item.is-active { outline: 2px solid Highlight; outline-offset: -2px; } }
/* Dropdown: cap the open list at about six and a half rows and scroll the rest. The half row signals that the list continues. */
.tfa-dropdown__menu { max-height: min(calc(var(--size-button-large) * 6.5 + var(--spacing-xs) * 2), 50vh); overflow-y: auto; overscroll-behavior: contain; }
/* Dropdown, native variant: the browser's own select, styled to match the custom trigger. */
.tfa-dropdown--native { position: relative; }
.tfa-dropdown__select { -webkit-appearance: none; appearance: none; padding-right: calc(var(--spacing-sm) * 2 + 24px); }
.tfa-dropdown__select.is-placeholder { color: var(--text-secondary-dark-grey); }
.tfa-dropdown__select option { color: var(--text-primary-black); }
.tfa-dropdown__chevron { position: absolute; top: 50%; right: var(--spacing-sm); transform: translateY(-50%); display: inline-flex; pointer-events: none; color: var(--text-primary-black); }
.tfa-dropdown.is-disabled .tfa-dropdown__chevron { color: var(--text-grey); }
