.ci-text * { box-sizing: border-box; }
.ci-text { box-sizing: border-box; color: #202224; font-family: 'Nunito Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; margin: 0 auto; max-width: calc(1200px + 56px); padding: 20px 28px 0; }
@media (max-width: 1199.98px) { .ci-text { padding-left: 24px; padding-right: 24px; } }
@media (max-width: 560px) { .ci-text { padding-left: 20px; padding-right: 20px; } }
.ci-text p { font-size: 16px; line-height: 1.5; margin: 0 0 20px; }
/* The body itself, for a value that arrives as bare text (a plain TEXT field
   mapped onto this rich leaf): the same type as a paragraph, not the browser's. */
.ci-text-body { font-size: 16px; line-height: 1.5; }
.ci-text-body > :first-child { margin-top: 0; }
.ci-text-body > :last-child { margin-bottom: 0; }
.ci-text a { color: #5749dd; text-decoration: none; }
.ci-text a:hover { text-decoration: underline; }
.ci-text ul, .ci-text ol { margin: 0 0 20px; padding-left: 24px; }
.ci-text li { margin-bottom: 6px; }
.ci-text strong { font-weight: 700; }
/* Rich-text subheadings (e.g. the about-page mission copy). */
.ci-text h3 { font-size: 22px; letter-spacing: -.02em; margin: 26px 0 14px; }
.ci-text h4 { font-size: 18px; margin: 22px 0 12px; }
/* link/inline Focus: the 2px ring 3px out, r8 round the ring. */
.ci-text a:focus-visible { border-radius: 5px; outline: 2px solid #5749dd; outline-offset: 3px; }
/* text-row: the decor/dot-6 at the column edge on the first line's caps, the words 18px in, rows 44 apart. The
   native marker stays, unpainted, so WebKit keeps the list a list (the callout's way). */
.ci-text-body ul { padding-left: 18px; }
.ci-text-body ul > li { position: relative; }
.ci-text-body ul > li::marker { color: transparent; }
.ci-text-body ul > li::before { -webkit-print-color-adjust: exact; background: linear-gradient(217.12deg, #ffbe04 42.21%, #e03327 230.55%); border-radius: 50%; content: ''; height: 6px; left: -18px; position: absolute; print-color-adjust: exact; top: 8px; width: 6px; }
/* Forced colours repaint the marker whatever its colour: there it is the bullet and the dot goes. */
@media (forced-colors: active) { .ci-text-body ul > li::before { content: none; } }
.ci-text-body li { margin-bottom: 20px; }
.ci-text-body li:last-child { margin-bottom: 0; }
/* Rich-text subheadings: v5's Section Title, 700 24/28. */
.ci-text-body h3 { font-size: 24px; letter-spacing: normal; line-height: 28px; }
/* The format bar's Quote is the NL content/quote: the inside frame takes no room, both
   21px marks sit 20px in from the top corners, the closing one turned round. */
.ci-text blockquote { font-size: 16px; font-style: italic; font-weight: 500; line-height: 1.5; margin: 0 0 20px; overflow-wrap: anywhere; }
/* One frame: a quote nested in it (imported, pasted) reads as quote text in its column. */
.ci-text-body > blockquote { background: #fff; border-radius: 12px; box-shadow: inset 0 0 0 1px #0c866a; padding: 20px 49px; position: relative; }
.ci-text-body > blockquote::before, .ci-text-body > blockquote::after { -webkit-print-color-adjust: exact; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2021%2021%22%3E%3Cpath%20d%3D%22M11.812%2010.4995L15.7495%2010.4995C16.4714%2010.4995%2017.062%2011.0901%2017.062%2011.812L17.062%2015.7495C17.062%2016.4714%2016.4714%2017.062%2015.7495%2017.062L11.812%2017.062C11.0901%2017.062%2010.4995%2016.4714%2010.4995%2015.7495L10.4995%2011.812C10.4995%2011.0901%2011.0901%2010.4995%2011.812%2010.4995ZM3.937%2010.4995L7.8745%2010.4995C8.5964%2010.4995%209.187%2011.0901%209.187%2011.812L9.187%2015.7495C9.187%2016.4714%208.5964%2017.062%207.8745%2017.062L3.937%2017.062C3.2151%2017.062%202.6245%2016.4714%202.6245%2015.7495L2.6245%2011.812C2.6245%2011.0901%203.2151%2010.4995%203.937%2010.4995Z%20M13.1256%2010.4995L13.1256%2013.1245C13.1256%2013.8494%2012.538%2014.437%2011.8131%2014.437C11.0882%2014.437%2010.5006%2013.8494%2010.5006%2013.1245L10.5006%2010.4995C10.5006%208.2703%2011.2395%205.9359%2012.8539%204.3215C13.3664%203.809%2014.1973%203.809%2014.7098%204.3215C15.2224%204.8341%2015.2224%205.6649%2014.7098%206.1775C13.6992%207.1882%2013.1256%208.7913%2013.1256%2010.4995ZM5.2506%2010.4995L5.2506%2013.1245C5.2506%2013.8494%204.663%2014.437%203.9381%2014.437C3.2132%2014.437%202.6256%2013.8494%202.6256%2013.1245L2.6256%2010.4995C2.6256%208.2703%203.3645%205.9359%204.9789%204.3215C5.4914%203.809%206.3223%203.809%206.8348%204.3215C7.3474%204.8341%207.3474%205.6649%206.8348%206.1775C5.8242%207.1882%205.2506%208.7913%205.2506%2010.4995Z%22%20fill%3D%22%230C866A%22%2F%3E%3C%2Fsvg%3E") center / 21px 21px no-repeat; content: ''; height: 21px; position: absolute; print-color-adjust: exact; top: 20px; width: 21px; }
.ci-text-body > blockquote::before { left: 20px; }
.ci-text-body > blockquote::after { right: 20px; transform: rotate(180deg); }
/* Its blocks keep the 20px rhythm; the last one, at any depth, leaves the padding alone. */
.ci-text blockquote > * { margin: 0 0 20px; }
.ci-text blockquote :last-child { margin-bottom: 0; }
/* Forced colours and print drop box-shadows: an inset outline keeps the frame in place. */
@media print, (forced-colors: active) { .ci-text-body > blockquote { box-shadow: none; outline: 1px solid #0c866a; outline-offset: -1px; } }
.ci-ptoc * { box-sizing: border-box; }
.ci-ptoc { box-sizing: border-box; font-family: 'Nunito Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color: #202224; margin: 0 auto; max-width: calc(1200px + 40px); padding: 20px; width: 100%; }
@media (max-width: 1199.98px) { .ci-ptoc { padding-left: 24px; padding-right: 24px; } }
@media (max-width: 560px) { .ci-ptoc { padding-left: 20px; padding-right: 20px; } }
.ci-ptoc-box { border: 1px solid #d9d9d9; border-radius: 12px; display: flex; flex-direction: column; gap: 20px; padding: 19px; }
.ci-ptoc-title { color: #202224; display: block; font-size: 20px; font-weight: 700; line-height: 28px; margin: -6px 0 -8px; }
.ci-ptoc-list { list-style: none; margin: 0; padding: 0; }
.ci-ptoc-item { max-width: 100%; min-width: 0; }
.ci-ptoc-link { border-radius: 5px; color: #202224; display: block; font-size: 16px; font-weight: 400; line-height: 24px; min-height: 24px; overflow-wrap: anywhere; position: relative; text-decoration-line: none; text-decoration-skip-ink: none; text-decoration-thickness: 1px; text-underline-offset: 1.5px; }
@media (hover: hover) { .ci-ptoc-link:hover { color: #0c866a; text-decoration-line: underline; } }
.ci-ptoc-link:active { color: #0d9070; text-decoration-line: underline; }
.ci-ptoc-link:focus-visible { outline: 2px solid #5749dd; outline-offset: 3px; }
/* Box: 20 in (its 1px rule inside), the caption's caps 20 over a wrapping row of link/tag: the 16px chevron 8px
   before the label, a 40px target (the rows' pitch, so two never overlap). */
.ci-ptoc-box:not([data-look="plain"]) .ci-ptoc-list { display: flex; flex-wrap: wrap; gap: 16px 32px; }
.ci-ptoc-box:not([data-look="plain"]) .ci-ptoc-link { padding-left: 24px; }
.ci-ptoc-box:not([data-look="plain"]) .ci-ptoc-link::before { -webkit-print-color-adjust: exact; background-color: currentColor; content: ''; height: 16px; left: 0; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M13.6724%204.22781C13.9761%203.92406%2014.4684%203.92406%2014.7722%204.22781C15.0759%204.53155%2015.0759%205.0239%2014.7722%205.32764L8.54992%2011.5499C8.24617%2011.8537%207.75383%2011.8537%207.45008%2011.5499L1.22781%205.32764C0.924064%205.0239%200.924064%204.53155%201.22781%204.22781C1.53155%203.92406%202.0239%203.92406%202.32764%204.22781L8%209.90016L13.6724%204.22781Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E") center / 16px 16px no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M13.6724%204.22781C13.9761%203.92406%2014.4684%203.92406%2014.7722%204.22781C15.0759%204.53155%2015.0759%205.0239%2014.7722%205.32764L8.54992%2011.5499C8.24617%2011.8537%207.75383%2011.8537%207.45008%2011.5499L1.22781%205.32764C0.924064%205.0239%200.924064%204.53155%201.22781%204.22781C1.53155%203.92406%202.0239%203.92406%202.32764%204.22781L8%209.90016L13.6724%204.22781Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E") center / 16px 16px no-repeat; position: absolute; print-color-adjust: exact; top: 4px; width: 16px; }
html:not([data-editor-canvas]) .ci-ptoc-box:not([data-look="plain"]) .ci-ptoc-link::after { content: ''; inset: -8px 0; position: absolute; }
@media (forced-colors: active) { .ci-ptoc-box:not([data-look="plain"]) .ci-ptoc-link::before { background-color: LinkText; forced-color-adjust: none; } }
/* Below the desktop the Box caption is 18/24 and a label 14/22 in its 24px row. */
@media (max-width: 1199.98px) {
  .ci-ptoc-title { font-size: 18px; line-height: 24px; margin: -5px 0 -6px; }
  .ci-ptoc-link { font-size: 14px; line-height: 22px; padding-bottom: 1px; padding-top: 1px; }
}
/* Plain reads down balanced columns; count-derived positions keep wrapped labels in their own track. */
.ci-ptoc-box[data-look="plain"] .ci-ptoc-list { display: grid; gap: 16px 32px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ci-ptoc-box[data-look="plain"] .ci-ptoc-item { grid-column: var(--ci-column-3, 1); grid-row: var(--ci-row-3, auto); }
.ci-ptoc-box[data-look="plain"] .ci-ptoc-link { padding-left: 24px; }
.ci-ptoc-box[data-look="plain"] .ci-ptoc-link::before { -webkit-print-color-adjust: exact; background-color: currentColor; content: ''; height: 16px; left: 0; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M13.6724%204.22781C13.9761%203.92406%2014.4684%203.92406%2014.7722%204.22781C15.0759%204.53155%2015.0759%205.0239%2014.7722%205.32764L8.54992%2011.5499C8.24617%2011.8537%207.75383%2011.8537%207.45008%2011.5499L1.22781%205.32764C0.924064%205.0239%200.924064%204.53155%201.22781%204.22781C1.53155%203.92406%202.0239%203.92406%202.32764%204.22781L8%209.90016L13.6724%204.22781Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E") center / 16px 16px no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M13.6724%204.22781C13.9761%203.92406%2014.4684%203.92406%2014.7722%204.22781C15.0759%204.53155%2015.0759%205.0239%2014.7722%205.32764L8.54992%2011.5499C8.24617%2011.8537%207.75383%2011.8537%207.45008%2011.5499L1.22781%205.32764C0.924064%205.0239%200.924064%204.53155%201.22781%204.22781C1.53155%203.92406%202.0239%203.92406%202.32764%204.22781L8%209.90016L13.6724%204.22781Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E") center / 16px 16px no-repeat; position: absolute; print-color-adjust: exact; top: 4px; width: 16px; }
@media (forced-colors: active) { .ci-ptoc-box[data-look="plain"] .ci-ptoc-link::before { background-color: LinkText; forced-color-adjust: none; } }
@media (max-width: 1199.98px) {
  .ci-ptoc-box[data-look="plain"] .ci-ptoc-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ci-ptoc-box[data-look="plain"] .ci-ptoc-item { grid-column: var(--ci-column-2, 1); grid-row: var(--ci-row-2, auto); }
}
@media (max-width: 720px) {
  .ci-ptoc-box[data-look="plain"] .ci-ptoc-list { display: flex; flex-direction: column; }
}
.ci-ocards * { box-sizing: border-box; }
.ci-ocards {
  display: flex;
  flex-direction: column;
  gap: 20px;
  box-sizing: border-box;
  font-family: 'Nunito Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  margin: 0 auto;
  max-width: calc(1200px + 56px);
  padding: 20px 28px;
}
@media (max-width: 1199.98px) { .ci-ocards { padding-left: 24px; padding-right: 24px; } }
@media (max-width: 560px) { .ci-ocards { padding-left: 20px; padding-right: 20px; } }
.ci-ocard-card { background: #fff; border-radius: 12px; box-shadow: inset 0 0 0 1px #d9d9d9; color: #202224; container-type: inline-size; position: relative; }

/* Mobile (< 560): logo + title, then the pros, the payment row and the offer, one item a row. */
.ci-ocard-header { align-items: start; column-gap: 16px; display: grid; grid-template-columns: 72px minmax(0, 1fr); padding: 16px 16px 28px; row-gap: 12px; }
.ci-ocard-header > .ci-ocard-offer, .ci-ocard-features > * { grid-column: 1 / -1; }
.ci-ocard-features { display: contents; }
.ci-ocard-logo-wrap { flex: none; height: 72px; position: relative; width: 72px; }
.ci-ocard-logo { background: #202224; border-radius: 50%; height: 100%; overflow: hidden; position: relative; width: 100%; }
/* Where Figma places the logo in the disc (not centred: 10.5, 9.64 of 96; 7.88, 7.23 of 72). */
.ci-ocard-logo-img { display: block; height: 60px; left: 7.88px; object-fit: contain; position: absolute; top: 7.23px; width: 60px; }
.ci-ocard-logo-badge { bottom: -4.5px; display: block; height: 24px; position: absolute; right: -4.5px; width: 24px; }
.ci-ocard-logo-badge-img { display: block; height: 100%; object-fit: contain; width: 100%; }
.ci-ocard-logo-badge-img[src=''], .ci-ocard-logo-badge-img:not([src]) { display: none; }
/* The crown marks a list's first two (shown) cards (v5), whatever the record says; a card alone is no list. */
.ci-ocard-card:nth-of-type(n+3) .ci-ocard-logo-badge, .ci-ocard-card:only-of-type .ci-ocard-logo-badge { display: none; }
.ci-ocard-card:nth-child(-n+2 of .ci-ocard-card:not([hidden])):not(:only-of-type) .ci-ocard-logo-badge { display: block; }
.ci-ocard-title { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ci-ocard-brand-name { color: #0c866a; display: block; font-size: 16px; font-weight: 700; line-height: 22px; margin: -4.984375px 0 -6.015625px; }
.ci-ocard-brand-link { color: inherit; text-decoration: none; }
.ci-ocard-brand-link::after { border-radius: 12px; content: ''; inset: 0; position: absolute; z-index: 1; }
.ci-ocard-brand-link:focus-visible { outline: none; }
/* Figma's ring: 3px outside the card, its inner edge at radius 8 (the 5 plus the offset). */
.ci-ocard-brand-link:focus-visible::after { border-radius: 5px; outline: 2px solid #5749dd; outline-offset: 3px; }
.ci-ocard-card:has(.ci-ocard-brand-link:hover) .ci-ocard-brand-name { text-decoration: underline; }
.ci-ocard-card:has(.ci-ocard-brand-link:active) .ci-ocard-brand-name { color: #0d9070; }
/* Three lines at most (v5), so a long offer never grows the card; left-aligned, so no gutter. */
.ci-ocard-bonus-text { -webkit-box-orient: vertical; color: #202224; display: -webkit-box; font-size: 20px; font-weight: 700; -webkit-line-clamp: 3; line-clamp: 3; line-height: 28px; overflow: hidden; overflow-wrap: break-word; margin: -6.484375px 0 -7.515625px; }
/* The mark and score (or the no-score caption), then the stars, centred (the user, 2026-10-07); a wrap keeps that order. */
.ci-ocard-rating { align-items: center; display: flex; flex-direction: row-reverse; flex-wrap: wrap-reverse; gap: 4px 8px; justify-content: flex-end; }
.ci-ocard-stars { display: flex; flex: none; height: 15px; width: 75px; }
.ci-ocard-star { color: #ffb310; display: block; flex: none; height: 16px; margin-top: -.5px; width: 16px; }
.ci-ocard-star-line { fill: #d9d9d9; }
.ci-ocard-star-fill { display: none; fill: #ffb310; }
.ci-ocard-star.on .ci-ocard-star-fill, .ci-ocard-star.mid .ci-ocard-star-fill, .ci-ocard-star.low .ci-ocard-star-fill { display: inline; }
.ci-ocard-star.on .ci-ocard-star-line, .ci-ocard-star.mid .ci-ocard-star-line, .ci-ocard-star.low .ci-ocard-star-line { display: none; }
.ci-ocard-score { align-items: flex-end; color: #202224; display: flex; gap: 4px; }
/* The site mark is a padded 24px glyph: drawn at Figma's 14.45px glyph width. */
.ci-ocard-score-mark-img { display: block; flex: none; height: 17.34px; margin: -3.545px -1.445px; object-fit: contain; width: 17.34px; }
.ci-ocard-score-mark-img[src=''], .ci-ocard-score-mark-img:not([src]) { display: none; }
.ci-ocard-score-num { font-size: 14px; line-height: 20px; white-space: nowrap; margin: -4.734375px 0 -5.265625px; }
/* Value=0 or no score: the render drops the score line (removeWhenZero), the caption takes its place. */
.ci-ocard-score-empty { color: #545658; display: none; font-size: 14px; line-height: 20px; min-width: 0; margin: -4.734375px 0 -5.265625px; }
.ci-ocard-rating:not(:has(.ci-ocard-score)) .ci-ocard-score-empty { display: block; }
.ci-ocard-points { display: flex; flex-direction: column; gap: 8px; list-style: none; margin: 0; min-width: 0; padding: 4px 0 0; }
.ci-ocard-point { align-items: flex-start; color: #202224; display: flex; font-size: 16px; gap: 8px; line-height: 24px; }
/* check-circle 20 centred in its 24px row. */
.ci-ocard-check { display: block; flex: none; height: 20px; margin-top: 2px; width: 20px; }
.ci-ocard-check-img { display: block; height: 20px; object-fit: contain; width: 20px; }
/* A long pro ends in "…" on its one line at every width (v5), so the card never grows. */
.ci-ocard-point-text { -webkit-box-orient: vertical; display: -webkit-box; flex: 1; -webkit-line-clamp: 1; line-clamp: 1; min-width: 0; overflow: hidden; overflow-wrap: anywhere; }
/* One row of fixed slots per layout, the last one "+N" when methods are hidden (paymentFoldScript reads the count). */
.ci-ocard-payments { --ci-pay-slots: 5; display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.ci-ocard-payments:not(:has(.ci-ocard-payment:not(.ci-ocard-payment-more))) { display: none; }
.ci-ocard-payment { align-items: center; background: #fff; border: 1px solid #d9d9d9; border-radius: 4px; display: inline-flex; flex: none; height: 25px; justify-content: center; overflow: hidden; position: relative; width: 50px; }
.ci-ocard-payment-img { display: block; max-height: 23px; max-width: 44px; object-fit: contain; pointer-events: none; }
.ci-ocard-payment-img[src=''], .ci-ocard-payment-img:not([src]) { display: none; }
/* The canvas placeholder stays the chip's upload target, invisible over the name and above the card's link. */
.ci-ocard-payment-img.gjs-plh-image { height: 100%; inset: 0; max-height: none; max-width: none; opacity: 0; pointer-events: auto; position: absolute; width: 100%; z-index: 2; }
/* media/payment by name (v3): no logo (the canvas placeholder is none), the name in 700 12/24; a long one widens the chip. */
.ci-ocard-payment-name { color: #202224; font-size: 12px; font-weight: 700; line-height: 24px; white-space: nowrap; margin: -7.484375px 0 -8.515625px; }
.ci-ocard-payment:has(.ci-ocard-payment-img[src]:not([src='']):not(.gjs-plh-image)) .ci-ocard-payment-name { display: none; }
.ci-ocard-payment:not(.ci-ocard-payment-more):not(:has(.ci-ocard-payment-img[src]:not([src='']):not(.gjs-plh-image))) { min-width: 50px; padding: 0 4px; width: auto; }
/* media/payment Name=More (v5): "+N" in 700 12/24 #545658 on #f3f3f3, above the card's link (0453). */
.ci-ocard-payment-more { background: #f3f3f3; border: 0; color: #545658; cursor: pointer; font-family: inherit; margin: 0; padding: 0; position: relative; z-index: 2; }
.ci-ocard-payment-more-count { font-size: 12px; font-weight: 700; line-height: 24px; white-space: nowrap; margin: -7.484375px 0 -8.515625px; }
.ci-ocard-payments .ci-ocard-payment-more { display: none; }
.ci-ocard-payment-more:focus-visible { outline: 2px solid #5749dd; outline-offset: 3px; }
.ci-ocard-payments[data-pay='folded'] .ci-ocard-payment-more { display: inline-flex; }
.ci-ocard-payments[data-pay='folded'] .ci-ocard-payment-over { display: none; }
/* The unfolded row takes the focus of the «+N» it replaced; the ring only for a keyboard. */
.ci-ocard-payments:focus-visible { border-radius: 4px; outline: 2px solid #5749dd; outline-offset: 3px; }
@media (forced-colors: active) {
  .ci-ocard-payment-more { outline: 1px solid ButtonText; outline-offset: -1px; }
}
/* Paper has no «+N» to press: every method prints. */
@media print {
  .ci-ocard-payments[data-pay] .ci-ocard-payment-more { display: none; }
  .ci-ocard-payments[data-pay] .ci-ocard-payment-over { display: inline-flex; }
}
/* The offer: on the phone "Bezoek casino" grows beside the hugging Review; the code plate takes its own line. */
.ci-ocard-offer { display: flex; flex-wrap: wrap; gap: 12px; min-width: 0; }
.ci-ocard-offer > .ci-ocard-code { flex: 1 0 100%; }
/* The plate's own width picks the Size; its height is the label's (and the button's) margin box plus the border. */
.ci-ocard-code { align-items: center; background: #fff; border: 1px solid #d9d9d9; border-radius: 4px; box-sizing: border-box; container-type: inline-size; cursor: pointer; display: flex; gap: 8px; min-width: 0; position: relative; z-index: 2; }
.ci-ocard-code-label, .ci-ocard-code-label-sm { color: #545658; flex: 0 1000 auto; font-weight: 400; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; line-height: 20px; margin: 14px 0 12px 16px; }
/* Size=Sm says "Code:" (v4) in its own word, shown by the Size's query; an empty one is dropped, leaving "Bonuscode:". */
.ci-ocard-code-label-sm { display: none; }
.ci-ocard-code-value { color: #202224; flex: 0 1 auto; font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 18px; line-height: 24px; margin: -5px 0 -6px; margin-left: auto; }
/* button/copy: 12px, its padding the 44px hit area (8 toward the code); the ring, 3px out, is the plate's. */
.ci-ocard-code-copy { background: none; border: 0; box-sizing: content-box; cursor: pointer; display: block; flex: none; height: 12px; width: 12px; margin: 1px 0 1px -8px; padding: 16px 16px 16px 8px; }
.ci-ocard-code-copy:focus-visible { outline: none; }
.ci-ocard-code-copy:focus-visible::after { border: 2px solid #5749dd; border-radius: 7px; content: ''; inset: -4px; pointer-events: none; position: absolute; }
.ci-ocard-code-copy-img { display: block; height: 13.09px; width: 12px; }
/* Hover and press skip a copied plate, so Copied needs no rules to win them back. */
@media (hover: hover) {
  .ci-ocard-code:not([data-copied]):hover { background: #ededed; border-color: #545658; }
  .ci-ocard-card:has(.ci-ocard-brand-link:hover) .ci-ocard-code:not([data-copied]) { background: #effbf7; border-color: #c2ebdd; }
  .ci-ocard-card:has(.ci-ocard-brand-link:hover) .ci-ocard-code:not([data-copied]) .ci-ocard-code-copy-img:not(.gjs-plh-image) { filter: brightness(0) saturate(100%) invert(37.7%) sepia(45.1%) saturate(761.2%) hue-rotate(115.9deg) brightness(99%) contrast(92.9%); }
}
.ci-ocard-code:not([data-copied]):active { background: #ededed; border-color: #545658; }
.ci-ocard-code[data-copied] { border-color: #c2ebdd; }
/* Strut and code both go to 0, so the word keeps the code's line and baseline. */
.ci-ocard-code[data-copied] .ci-ocard-code-value[data-copied-label]:not([data-copied-label='']) { font-size: 0; line-height: 0; }
.ci-ocard-code[data-copied] .ci-ocard-code-value[data-copied-label]:not([data-copied-label=''])::after { color: #0c8166; content: attr(data-copied-label); font-size: 18px; line-height: 24px; }
.ci-ocard-code[data-copied] .ci-ocard-code-copy-img:not(.gjs-plh-image) { filter: brightness(0) saturate(100%) invert(33%) sepia(99.7%) saturate(376%) hue-rotate(115.9deg) brightness(98.3%) contrast(93.9%); }
@container (max-width: 230px) {
  .ci-ocard-code-label, .ci-ocard-code-label-sm { font-size: 12px; line-height: 20px; margin: 9px 0 9px 12px; }
  .ci-ocard-code .ci-ocard-code-label-sm { display: block; }
  .ci-ocard-code-label-sm + .ci-ocard-code-label { display: none; }
  .ci-ocard-code-value { font-size: 16px; line-height: 22px; margin: -5px 0 -6px; margin-left: auto; }
  .ci-ocard-code-copy { margin: -3px 0 -3px -8px; padding: 16px 12px 16px 8px; }
  .ci-ocard-code[data-copied] .ci-ocard-code-value[data-copied-label]:not([data-copied-label=''])::after { font-size: 16px; line-height: 22px; }
}
.ci-ocard-visit { align-items: center; align-self: stretch; background: #0c866a; border-radius: 4px; color: #fff; display: inline-flex; font-size: 18px; font-weight: 700; gap: 4px; justify-content: center; line-height: 24px; min-height: 48px; padding: 12px 24px; position: relative; text-align: center; text-decoration: none; z-index: 2; }
@media (hover: hover) { .ci-ocard-visit:hover { background: #0d9070; } }
.ci-ocard-visit:active { background: #1b5547; }
.ci-ocard-visit:focus-visible { box-shadow: 0 0 0 3px #fff; outline: 2px solid #5749dd; outline-offset: 5px; }
.ci-ocard-visit-cta { min-width: 0; overflow-wrap: anywhere; margin: -5.234375px 0 -5.765625px; }
.ci-ocard-visit-icon { display: block; flex: none; height: 12px; width: 12px; }
.ci-ocard-offer .ci-ocard-visit { flex: 1 1 0; min-width: 0; }
.ci-ocard-review-link { align-items: center; border: 1px solid #5749dd; border-radius: 4px; box-sizing: border-box; color: #5749dd; display: flex; font-size: 18px; font-weight: 700; justify-content: center; line-height: 24px; min-height: 48px; padding: 11px 23px; position: relative; text-align: center; text-decoration: none; z-index: 2; }
.ci-ocard-review-link-label { min-width: 0; overflow-wrap: anywhere; }
@media (hover: hover) { .ci-ocard-review-link:hover { background: #f3f2ff; } }
.ci-ocard-review-link:active { background: none; border-color: #3d31b8; color: #3d31b8; }
.ci-ocard-review-link:focus-visible { outline: none; }
.ci-ocard-review-link:focus-visible::after { border: 2px solid #5749dd; border-radius: 10px; content: ''; inset: -6px; pointer-events: none; position: absolute; }
/* Tablet (560-799): logo | title | the 220 offer, then the payment row (its 5 slots at least) beside the pros. */
@container (min-width: 560px) {
  .ci-ocard-header { column-gap: 32px; grid-template-columns: 96px minmax(0, 1fr) 220px; padding: 20px; row-gap: 16px; }
  .ci-ocard-header > .ci-ocard-offer { grid-column: 3; grid-row: 1; }
  .ci-ocard-features { display: flex; gap: 24px; grid-column: 1 / -1; }
  .ci-ocard-features > * { flex: 1 1 0; }
  .ci-ocard-features > .ci-ocard-payments { min-width: 282px; order: -1; }
  .ci-ocard-logo-wrap { height: 96px; width: 96px; }
  .ci-ocard-logo-img { height: 80px; left: 10.5px; top: 9.64px; width: 80px; }
  .ci-ocard-logo-badge { bottom: -6px; height: 32px; right: -6px; width: 32px; }
  .ci-ocard-title { gap: 16px; }
  .ci-ocard-points { padding: 0; }
  .ci-ocard-offer { flex-direction: column; flex-wrap: nowrap; }
  .ci-ocard-offer > .ci-ocard-code { flex: none; }
  .ci-ocard-offer .ci-ocard-visit { flex: none; }
}
/* Medium (800-1099, the reviews hub's 876 column): the pros under the title, one 8-slot payment row under all. */
@container (min-width: 800px) {
  .ci-ocard-header { align-items: center; grid-template-rows: 1fr auto auto 1fr auto; row-gap: 0; }
  .ci-ocard-header > .ci-ocard-logo-wrap, .ci-ocard-header > .ci-ocard-offer { grid-row: 1 / 5; }
  .ci-ocard-title { gap: 8px; grid-column: 2; grid-row: 2; }
  .ci-ocard-features { display: contents; }
  .ci-ocard-features > .ci-ocard-points { grid-column: 2; grid-row: 3; margin-top: 8px; }
  .ci-ocard-features > .ci-ocard-payments { --ci-pay-slots: 8; grid-column: 1 / -1; grid-row: 5; margin-top: 16px; min-width: 0; }
}
/* Desktop (>= 1100): logo | name, bonus, rating, payments (the rest: 258 on a 1100 card) | the pros' fixed 340 | the
   268 offer (v5, DREAM-812); a narrow info column folds its payment row to fewer slots and "+N". */
@container (min-width: 1100px) {
  .ci-ocard-header { grid-template-columns: 96px minmax(0, 1fr) 340px 268px; grid-template-rows: 1fr auto auto 1fr; }
  .ci-ocard-header > .ci-ocard-offer { grid-column: 4; }
  .ci-ocard-title { gap: 12px; }
  .ci-ocard-features > .ci-ocard-points { grid-column: 3; grid-row: 1 / -1; margin-top: 0; }
  .ci-ocard-features > .ci-ocard-payments { --ci-pay-slots: 6; grid-column: 2; grid-row: 3; margin-top: 12px; }
}

/* Visually hidden, not display:none: the toggle keeps keyboard focus. */
.ci-ocard-toggle { height: 1px; margin: 0; opacity: 0; overflow: hidden; pointer-events: none; position: absolute; width: 1px; }
.ci-ocard-body { border-top: 1px solid #e2e2e7; display: none; flex-direction: column; gap: 20px; padding: 20px; }
.ci-ocard-toggle:checked ~ .ci-ocard-body { display: flex; }
/* Facts use two equal columns; an odd surviving final fact spans both (DREAM-855). */
.ci-ocard-stats { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); margin: 0; min-width: 0; }
/* One column on the phone reads the two-column card's left column, then its right (v5 Mobile
   Expanded, DREAM-811): the facts the card prints, by position, so a dropped fact moves both as the desktop does. */
.ci-ocard-stats > .ci-ocard-stat:nth-child(even) { order: 1; }
/* A surviving odd final fact spans both columns (DREAM-855). */
.ci-ocard-stats > .ci-ocard-stat:last-child:nth-child(odd) { grid-column: 1 / -1; }
/* content/casino-facts v3: the label over the value, both body/md, left-aligned. */
.ci-ocard-stat { background: #f3f2ff; border-radius: 8px; color: #202224; display: flex; flex-direction: column; font-size: 16px; gap: 4px; line-height: 24px; min-width: 0; padding: 10px 8px; }
.ci-ocard-stat-name, .ci-ocard-stat-value { margin: 0; min-width: 0; overflow-wrap: break-word; }
.ci-ocard-ratings { display: flex; flex-direction: column; min-width: 0; }
.ci-ocard-rating-list { display: flex; flex-direction: column; gap: 16px; }
.ci-ocard-rating-list > div { min-width: 0; padding: 0 8px; }
/* A 12px pad around the trimmed 14/22 label, the first one without its top. */
.ci-ocard-rating-label { color: #202224; display: block; font-size: 14px; font-weight: 700; line-height: 22px; padding: 6.265625px 8px 5.734375px; }
.ci-ocard-rating-list > div:first-child .ci-ocard-rating-label { margin-top: -5.734375px; padding-top: 0; }
.ci-ocard-bar { display: flex; gap: 4px; height: 9px; min-width: 0; }
.ci-ocard-cell { background: #d9d9d9; border-radius: 2px; display: block; flex: 1; height: 9px; min-width: 0; }
.ci-ocard-cell.on { --ci-cell: #5bd73c; background: var(--ci-cell); }
.ci-ocard-cell.mid { --ci-cell: #ffb310; background: var(--ci-cell); }
.ci-ocard-cell.low { --ci-cell: #e24e3e; background: var(--ci-cell); }
.ci-ocard-cell.part { background: linear-gradient(90deg, var(--ci-cell) var(--ci-fill, 0%), #d9d9d9 var(--ci-fill, 0%)); }
/* No category rated (its rows dropped, 0467): no rating rows under the facts. */
.ci-ocard-ratings:not(:has(.ci-ocard-bar)) { display: none; }
/* control/show-toggle v5: centred on the card's bottom edge, shut or open; it hugs its label (pad 12). */
.ci-ocard-more { align-items: center; background: #f3f3f3; border-radius: 4px; box-shadow: inset 0 0 0 1px #d9d9d9; color: #545658; cursor: pointer; display: flex; font-size: 16px; height: 32px; justify-content: center; line-height: 24px; margin: -16px auto; padding: 0 12px; position: relative; white-space: nowrap; width: max-content; z-index: 3; }
/* Its 44px hit area grows down into the gap under the card, never over the card's last row (a Medium payment row). */
.ci-ocard-more::before { content: ''; inset: 0 0 -12px; position: absolute; }
.ci-ocard-more:hover { background: #ededed; color: #202224; }
.ci-ocard-more:active { background: #ededed; color: #1b5547; }
/* Forced colours drop the ring's shadow: an outline keeps the control's edge. */
@media (forced-colors: active) {
  .ci-ocard-more { outline: 1px solid ButtonText; outline-offset: -1px; }
}
.ci-ocard-toggle:focus-visible ~ .ci-ocard-more { outline: 2px solid #5749dd; outline-offset: 3px; }
.ci-ocard-more-less { display: none; }
.ci-ocard-toggle:checked ~ .ci-ocard-more .ci-ocard-more-show { display: none; }
.ci-ocard-toggle:checked ~ .ci-ocard-more .ci-ocard-more-less { display: inline; }
@container (min-width: 560px) {
  .ci-ocard-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ci-ocard-stats > .ci-ocard-stat:nth-child(even) { order: 0; }
}
.ci-ocard-card:not([hidden]) ~ .ci-ocard-card { margin-top: 12px; }
@media (min-width: 561px) and (max-width: 1099px) { .ci-ocard-card:not([hidden]) ~ .ci-ocard-card { margin-top: 20px; } }
/* Asked of SCRIPTING, not undone by a <noscript> rule: `display` has no
   un-hiding half — `revert` rolls back to the UA origin and strips the card's
   own `display` (`.ci-bgd-main` is flex, `.ci-vcard` grid). Where the pager
   cannot run, the cut is never made — the lead, PR #169. */
@media (scripting: enabled) {
  .ci-ocards:not([data-pager-ready]) > [data-past-batch] { display: none; }
}
/* The panel marks a non-matching card `hidden`; this states what that means
   loudly enough to survive a baked `Page.css` rule setting display on the
   card (render KNOWLEDGE.md, "Stale baked page CSS"). */
.ci-ocards > *[hidden] { display: none !important; }
/* Hidden until the script takes over: without JavaScript the button would
   promise a batch it cannot reveal. Stated here, NOT in the <noscript> below —
   the editor parses that block as markup and bakes its rules into Page.css,
   where they apply with scripting ON (render KNOWLEDGE.md, "Stale baked CSS"). */
.ci-cpager { display: none; }
.ci-ocards[data-pager-ready] > .ci-cpager { display: flex; flex-direction: column; gap: 12px; align-items: center; grid-column: 1 / -1; padding-top: 20px; }
.ci-cpager[hidden] { display: none; }
.ci-cpager .ci-cpager-count { color: #545658; font-size: 14px; font-variant-numeric: tabular-nums; line-height: 20px; }
/* NL button/secondary without its arrow: 23px + the 1px border make the design's 24px sides.
   Under `.ci-cpager` so a pre-0410 version's flat rules on the page lose (PR #496 R1.5). */
.ci-cpager .ci-cpager-btn { -webkit-appearance: none; align-items: center; appearance: none; background: none; border: 1px solid #5749dd; border-radius: 4px; color: #5749dd; cursor: pointer; display: inline-flex; font-family: inherit; font-size: 18px; font-weight: 700; height: 48px; justify-content: center; line-height: 24px; margin: 0; max-width: 100%; padding: 0 23px; position: relative; }
.ci-cpager .ci-cpager-btn:hover { background: #f3f2ff; }
.ci-cpager .ci-cpager-btn:active { background: none; border-color: #3d31b8; color: #3d31b8; }
.ci-cpager .ci-cpager-btn:focus-visible { outline: none; }
/* The drawn ring, 3px out at radius 8/10 (an outline would round to 9): 6px off the padding box. */
.ci-cpager .ci-cpager-btn:focus-visible::after { border: 2px solid #5749dd; border-radius: 10px; content: ''; inset: -6px; pointer-events: none; position: absolute; }
.ci-cpager .ci-cpager-btn[hidden] { display: none; }
.ci-ctoolbar * { box-sizing: border-box; }
/* A part of the list it controls, never a section of its own: it spans the
   list's layout and leaves the section's padding to the section. */
.ci-ctoolbar { box-sizing: border-box; color: #202224; grid-column: 1 / -1; margin: 0; width: 100%; }
/* form/search, Light: 40px, the glyph first; Figma's 8/12 pads sit inside the 1px border. */
.ci-ctoolbar label.ci-ctoolbar-search { align-items: center; background: #fff; border: 1px solid #d9d9d9; border-radius: 4px; cursor: text; display: flex; gap: 8px; height: 40px; margin: 0; padding: 8px 12px; position: relative; }
.ci-ctoolbar label.ci-ctoolbar-search::before { content: ''; inset: -3px -1px; position: absolute; }
.ci-ctoolbar label.ci-ctoolbar-search:focus-within::after { border: 2px solid #5749dd; border-radius: 14px; content: ''; inset: -6px; pointer-events: none; position: absolute; }
/* `inset` and `transform` undo a pre-0410 sheet's right-hand absolute glyph. */
.ci-ctoolbar label > .ci-ctoolbar-icon { color: #545658; display: block; flex: none; height: 16px; inset: auto; position: relative; transform: none; width: 16px; }
.ci-ctoolbar label > .ci-ctoolbar-input { -webkit-appearance: none; appearance: none; background: none; border: 0; border-radius: 0; color: #202224; flex: 1; font-family: inherit; font-size: 14px; font-weight: 400; height: 20px; letter-spacing: 0; line-height: 20px; margin: 0; min-width: 0; outline: none; padding: 0; position: relative; top: 1px; }
.ci-ctoolbar label > .ci-ctoolbar-input:focus-visible { outline: none; }
.ci-ctoolbar label > .ci-ctoolbar-input::placeholder { color: #545658; opacity: 1; }
.ci-ctoolbar label > .ci-ctoolbar-input::-webkit-search-cancel-button { -webkit-appearance: none; display: none; }
.ci-ctoolbar label > .ci-ctoolbar-input::-webkit-search-decoration { -webkit-appearance: none; }
@media (hover: hover) {
  .ci-ctoolbar label.ci-ctoolbar-search:hover { border-color: #545658; }
  .ci-ctoolbar .ci-ctoolbar-reset:hover { text-decoration: underline; }
}
.ci-ctoolbar label.ci-ctoolbar-search:active { background: #ededed; border-color: #545658; }
.ci-ctoolbar .ci-ctoolbar-chips { display: flex; flex-wrap: wrap; gap: 12px 8px; margin-top: 12px; }
.ci-ctoolbar .ci-ctoolbar-chips:empty { display: none; }
/* filter/chip, an applied filter with its close glyph (0438): 32px pill, 44px hit area (rows 12 apart,
   so two rows' areas never overlap). Hover and pressed draw the 1px line inset, so the pill keeps
   its width (user call, DREAM-718). */
.ci-ctoolbar .ci-ctoolbar-chip { align-items: center; background: #f3f3f3; border: 0; border-radius: 999px; color: #202224; cursor: pointer; display: inline-flex; font-family: inherit; font-size: 12px; font-style: normal; font-weight: 400; gap: 6px; letter-spacing: 0; line-height: 20px; margin: 0; max-width: 100%; min-height: 32px; overflow-wrap: anywhere; padding: 6px 8px 6px 12px; position: relative; text-align: left; }
.ci-ctoolbar .ci-ctoolbar-chip::before { content: ''; inset: -6px 0; position: absolute; }
.ci-ctoolbar .ci-ctoolbar-chip-icon { display: block; flex: none; height: 12px; width: 12px; }
/* Unguarded, so a pre-0438 sheet's green :hover cannot win on a touch screen. */
.ci-ctoolbar .ci-ctoolbar-chip:hover { background: #f3f3f3; }
@media (hover: hover) {
  .ci-ctoolbar .ci-ctoolbar-chip:hover { background: #ededed; box-shadow: inset 0 0 0 1px #545658; }
}
.ci-ctoolbar .ci-ctoolbar-chip:active { background: #ededed; box-shadow: inset 0 0 0 1px #545658; color: #545658; }
.ci-ctoolbar .ci-ctoolbar-chip:focus-visible { outline: none; }
/* Figma's ring: 2px #5749DD, 3px out, radius 8 inside (a rounded rect round the pill). */
.ci-ctoolbar .ci-ctoolbar-chip:focus-visible::after { border: 2px solid #5749dd; border-radius: 10px; content: ''; inset: -5px; pointer-events: none; position: absolute; }
@media (forced-colors: active) { .ci-ctoolbar .ci-ctoolbar-chip, .ci-ctoolbar .ci-ctoolbar-chip:focus-visible { outline: 1px solid ButtonText; outline-offset: -1px; } }
.ci-ctoolbar .ci-ctoolbar-meta { color: #545658; font-size: 14px; font-variant-numeric: tabular-nums; line-height: 20px; margin: 12px 0 0; }
/* The link carries its own 12px: a hidden link leaves the row 0 high, so no gap (R1.6). */
.ci-ctoolbar .ci-ctoolbar-meta-row { display: flex; margin: 0; }
/* link/text: 700 16/22 #0C866A; hover underlines, pressed #0D9070; a 44px hit area. */
.ci-ctoolbar .ci-ctoolbar-reset { background: none; border: 0; border-radius: 5px; color: #0c866a; cursor: pointer; font-family: inherit; font-size: 16px; font-weight: 700; line-height: 22px; margin: 12px 0 0; padding: 0; position: relative; }
.ci-ctoolbar .ci-ctoolbar-reset::before { content: ''; inset: -11px 0; position: absolute; }
.ci-ctoolbar .ci-ctoolbar-reset:active { color: #0d9070; text-decoration: underline; }
.ci-ctoolbar .ci-ctoolbar-reset:focus-visible { outline: 2px solid #5749dd; outline-offset: 3px; }
.ci-ctoolbar .ci-ctoolbar-reset[hidden] { display: none; }
/* feedback/empty-state: NoResults by default, Empty (`data-empty="none"`) on a list with no rows.
   Figma's pad 48 plus its 1px stroke inside the layout: 49 on every side, and the height hugs
   the words (the default copy measures 49+116+49 = 214), with no minimum (0425). */
.ci-ctoolbar div.ci-ctoolbar-empty { align-items: center; background: #ededed; border: 0; border-radius: 12px; display: flex; flex-direction: column; gap: 12px; margin: 16px 0 0; padding: 49px; text-align: center; }
.ci-ctoolbar div.ci-ctoolbar-empty[hidden] { display: none; }
.ci-ctoolbar .ci-ctoolbar-empty-title { color: #202224; font-size: 20px; font-weight: 700; line-height: 28px; margin: -6px 0 -8px; }
.ci-ctoolbar .ci-ctoolbar-none-title { color: #202224; display: none; font-size: 20px; font-weight: 700; line-height: 28px; margin: -6px 0 -8px; }
.ci-ctoolbar .ci-ctoolbar-empty-text { color: #545658; font-size: 14px; line-height: 20px; margin: -4px 0 -6px; max-width: 420px; }
.ci-ctoolbar .ci-ctoolbar-none-text { color: #545658; display: none; font-size: 14px; line-height: 20px; margin: -4px 0 -6px; max-width: 420px; }
.ci-ctoolbar-empty[data-empty="none"] > .ci-ctoolbar-empty-title { display: none; }
.ci-ctoolbar-empty[data-empty="none"] > .ci-ctoolbar-empty-text { display: none; }
.ci-ctoolbar-empty[data-empty="none"] > .ci-ctoolbar-none-title { display: block; }
.ci-ctoolbar-empty[data-empty="none"] > .ci-ctoolbar-none-text { display: block; }
.ci-ctoolbar-empty[data-empty="none"] > .ci-ctoolbar-clear { display: none; }
/* Empty's own button/primary (0479): the hub link, shown only on a list with no rows, and only where it has an address. */
.ci-ctoolbar .ci-ctoolbar-hub { display: none; }
.ci-ctoolbar .ci-ctoolbar-empty[data-empty="none"] > .ci-ctoolbar-hub[href]:not([href=""]) { display: inline-flex; }
/* button/primary with its arrow; the white ring sits 1px off the grey panel, the purple 5px out. */
.ci-ctoolbar .ci-ctoolbar-clear, .ci-ctoolbar .ci-ctoolbar-empty > .ci-ctoolbar-hub { align-items: center; background: #0c866a; border: 0; border-radius: 4px; color: #fff; cursor: pointer; flex: none; font-family: inherit; font-size: 18px; font-weight: 700; gap: 4px; height: 48px; justify-content: center; line-height: 24px; margin: 0; max-width: 100%; padding: 0 24px; text-decoration: none; }
.ci-ctoolbar .ci-ctoolbar-clear { display: inline-flex; }
.ci-ctoolbar .ci-ctoolbar-clear:hover, .ci-ctoolbar .ci-ctoolbar-hub:hover { background: #0d9070; }
.ci-ctoolbar .ci-ctoolbar-clear:active, .ci-ctoolbar .ci-ctoolbar-hub:active { background: #1b5547; }
.ci-ctoolbar .ci-ctoolbar-clear:focus-visible, .ci-ctoolbar .ci-ctoolbar-hub:focus-visible { box-shadow: 0 0 0 1px #ededed, 0 0 0 3px #fff; outline: 2px solid #5749dd; outline-offset: 5px; }
.ci-ctoolbar .ci-ctoolbar-clear-label, .ci-ctoolbar .ci-ctoolbar-hub-label { margin: -5px 0 -6px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ci-ctoolbar .ci-ctoolbar-clear-icon { display: block; flex: none; height: 12px; width: 12px; }
/* Its own rule: 0410 finds its version by the clear icon's rule text (PR #578 R1.8). */
.ci-ctoolbar .ci-ctoolbar-hub-icon { display: block; flex: none; height: 12px; width: 12px; }
.ci-atable * { box-sizing: border-box; }
.ci-atable { box-sizing: border-box; color: #202224; font-family: 'Nunito Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; margin: 0 auto; max-width: calc(1200px + 56px); padding: 20px 28px 0; }
.ci-atable-body { overflow-x: auto; }
.ci-atable table { border-collapse: collapse; width: 100%; }
.ci-atable td { border: 1px solid #d9d9d9; font-size: 15px; line-height: 1.5; padding: 10px 14px; text-align: left; vertical-align: top; }
.ci-atable th { background: #f3f2ff; border: 1px solid #d9d9d9; font-size: 15px; font-weight: 800; line-height: 1.5; padding: 10px 14px; text-align: left; vertical-align: top; }
.ci-atable th p, .ci-atable td p { margin: 0; }
.ci-atable th p + p, .ci-atable td p + p { margin-top: 8px; }
@media (max-width: 560px) { .ci-atable th, .ci-atable td { font-size: 14px; padding: 8px 10px; } }
@media (max-width: 1199.98px) { .ci-atable { padding-left: 24px; padding-right: 24px; } }
@media (max-width: 560px) { .ci-atable { padding-left: 20px; padding-right: 20px; } }
.ci-atable a[href] { color: #5749dd; text-decoration: none; }
.ci-atable a[href]:hover { text-decoration: underline; }
.ci-atable a[href]:focus-visible { border-radius: 5px; outline: 2px solid #5749dd; outline-offset: 3px; }
.ci-aimg * { box-sizing: border-box; }
.ci-aimg { box-sizing: border-box; color: #202224; font-family: 'Nunito Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; margin: 0 auto; max-width: calc(1200px + 56px); padding: 20px 28px 0; }
@media (max-width: 1199.98px) { .ci-aimg { padding-left: 24px; padding-right: 24px; } }
@media (max-width: 560px) { .ci-aimg { padding-left: 20px; padding-right: 20px; } }
.ci-aimg-figure { margin: 0; }
.ci-aimg-img { border-radius: 12px; display: block; height: auto; margin: 0 auto; max-width: 100%; }
.ci-aimg-img[src=""], .ci-aimg-img:not([src]) { display: none; }
.ci-aimg-caption { color: #545658; font-size: 14px; line-height: 1.4; margin-top: 10px; }
/* Full width, v5 (DREAM-831): 850:350 at r12 on desktop, a 120px band below it, the photo cropped.
   :where() keeps it at (0,1,0), so a corner drag's scoped rule wins. */
.ci-aimg-figure[data-width="full"] { padding-bottom: 20px; }
.ci-aimg-figure[data-width="full"] picture { display: block; }
:where(.ci-aimg-figure[data-width="full"]) .ci-aimg-img { aspect-ratio: 850 / 350; border-radius: 12px; max-width: none; object-fit: cover; width: 100%; }
@media (max-width: 1199.98px) { :where(.ci-aimg-figure[data-width="full"]) .ci-aimg-img { aspect-ratio: auto; height: 120px; } }
.ci-gsteps * { box-sizing: border-box; }
.ci-gsteps { box-sizing: border-box; font-family: 'Nunito Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color: #202224; margin: 0 auto; max-width: calc(1200px + 56px); padding: 20px 28px; width: 100%; }
@media (max-width: 1199.98px) { .ci-gsteps { padding-left: 24px; padding-right: 24px; } }
@media (max-width: 560px) { .ci-gsteps { padding-left: 20px; padding-right: 20px; } }
.ci-gsteps { counter-reset: ci-gsteps-r calc(var(--ci-gsteps-start, 1) - 1); }
.ci-gsteps-item { counter-increment: ci-gsteps-r; display: flex; gap: 12px; margin-bottom: 32px; min-height: 40px; position: relative; }
.ci-gsteps-item:last-child { margin-bottom: 0; }
.ci-gsteps-item::before { content: counter(ci-gsteps-r); flex: none; align-items: center; background: #0c866a; border-radius: 20px; color: #fff; display: flex; font-size: 18px; font-weight: 700; height: 40px; justify-content: center; line-height: 24px; width: 40px; }
.ci-gsteps-item:not(:last-child)::after { background: #d9d9d9; bottom: -24px; content: ''; left: 19.5px; position: absolute; top: 48px; width: 1px; }
.ci-gsteps-num { flex: none; height: 40px; object-fit: contain; width: 40px; }
.ci-gsteps[data-numbers="digits"] .ci-gsteps-num { display: none; }
.ci-gsteps-num:not([src]), .ci-gsteps-num[src=""], .ci-gsteps-num.gjs-plh-image { display: none; }
.ci-gsteps-item:has(.ci-gsteps-num[src]:not([src=""]):not(.gjs-plh-image))::before { display: none; }
.ci-gsteps[data-numbers="digits"] .ci-gsteps-item:has(.ci-gsteps-num[src]:not([src=""]):not(.gjs-plh-image))::before { display: flex; }
.ci-gsteps-body { flex: 1 1 auto; min-width: 0; padding-top: 8px; }
.ci-gsteps-title { color: #202224; font-size: 18px; font-weight: 700; line-height: 24px; margin: 0 0 16px; }
.ci-gsteps-title:empty { display: none; }
.ci-gsteps-text { color: #202224; font-size: 16px; font-weight: 400; line-height: 24px; margin: 0; text-align: justify; }
.ci-gsteps-shot, .ci-gsteps .ci-list-figure { margin: 12px 0 0; }
.ci-gsteps-shot picture, .ci-gsteps .ci-list-figure picture { display: block; }
.ci-gsteps-shot-img, .ci-gsteps .ci-list-img { border-radius: 8px; display: block; height: auto; max-width: 100%; }
.ci-gsteps > ul[data-marker], .ci-gsteps > ol[data-marker] { counter-reset: ci-gsteps-n calc(var(--ci-gsteps-start, 1) - 1); display: flex; flex-direction: column; gap: 32px; list-style: none; margin: 0; padding: 0; }
.ci-gsteps > ul[data-marker] > li, .ci-gsteps > ol[data-marker] > li { color: #202224; font-size: 16px; font-weight: 400; line-height: 24px; overflow-wrap: anywhere; position: relative; text-align: justify; }
.ci-gsteps > ul[data-marker] > li p, .ci-gsteps > ol[data-marker] > li p { margin: 0; }
.ci-gsteps > ul[data-marker] > li p + p, .ci-gsteps > ol[data-marker] > li p + p { margin-top: 20px; }
.ci-gsteps > ul[data-marker] > li :is(h2, h3, h4), .ci-gsteps > ol[data-marker] > li :is(h2, h3, h4) { color: #202224; font-size: 18px; font-weight: 700; line-height: 24px; margin: 0 0 16px; }
.ci-gsteps > ol[data-marker="number"] > li, .ci-gsteps > ul[data-marker="image"] > li { counter-increment: ci-gsteps-n; min-height: 40px; padding: 8px 0 0 52px; }
.ci-gsteps > ol[data-marker="number"] > li::before, .ci-gsteps > ul[data-marker="image"] > li::before { content: counter(ci-gsteps-n); left: 0; position: absolute; top: 0; align-items: center; background: #0c866a; border-radius: 20px; color: #fff; display: flex; font-size: 18px; font-weight: 700; height: 40px; justify-content: center; line-height: 24px; width: 40px; }
.ci-gsteps > ol[data-marker="number"] > li:not(:last-child)::after, .ci-gsteps > ul[data-marker="image"] > li:not(:last-child)::after { background: #d9d9d9; bottom: -24px; content: ''; left: 19.5px; position: absolute; top: 48px; width: 1px; }
.ci-gsteps > ul[data-marker="image"] > li > .ci-list-mark { display: none; }
.ci-gsteps > ul[data-marker="bullet"] > li { padding-left: 18px; }
.ci-gsteps > ul[data-marker="bullet"] > li::before { background: linear-gradient(217.12deg, #ffbe04 42.21%, #e03327 230.55%); border-radius: 50%; content: ''; height: 6px; left: 0; position: absolute; top: 9px; width: 6px; }
@media (forced-colors: active) {
  .ci-gsteps-item::before, .ci-gsteps > ol[data-marker="number"] > li::before, .ci-gsteps > ul[data-marker="image"] > li::before { background: Canvas; border: 1px solid CanvasText; color: CanvasText; }
  .ci-gsteps-item::after, .ci-gsteps > ol[data-marker="number"] > li::after, .ci-gsteps > ul[data-marker="image"] > li::after { background: CanvasText; forced-color-adjust: none; }
  .ci-gsteps > ul[data-marker="bullet"] > li::before { background: CanvasText; forced-color-adjust: none; }
}
@media print { .ci-gsteps-item::before, .ci-gsteps > ol[data-marker="number"] > li::before, .ci-gsteps > ul[data-marker="image"] > li::before { background: #fff; border: 1px solid #0c866a; color: #0c866a; } }
.ci-gsteps a[href] { color: #5749dd; text-decoration: none; }
.ci-gsteps a[href]:hover { text-decoration: underline; }
.ci-gsteps a[href]:focus-visible { border-radius: 5px; outline: 2px solid #5749dd; outline-offset: 3px; }
.ci-vlist * { box-sizing: border-box; }
.ci-vlist { box-sizing: border-box; font-family: 'Nunito Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color: #202224; margin: 0 auto; max-width: calc(1200px + 56px); padding: 20px 28px; width: 100%; }
@media (max-width: 1199.98px) { .ci-vlist { padding-left: 24px; padding-right: 24px; } }
@media (max-width: 560px) { .ci-vlist { padding-left: 20px; padding-right: 20px; } }
/* Element-scoped: applyList emits a class-less ul/ol, so the pill design
   lives on the elements (block-transform KNOWLEDGE.md "The list shape"). */
.ci-vlist-body ul, .ci-vlist-body ol { counter-reset: ci-vlist-n; display: flex; flex-direction: column; gap: 14px; list-style: none; margin: 0; padding: 0; }
/* Figma list/bullet-item; a label wrapping to more lines grows the row. A block, not a flex row: an
   item's link or <b> would be a column of its own, so the marker hangs in the padding (0447). */
.ci-vlist-body li { align-content: center; background: #f3f3f3; border-radius: 4px; color: #202224; display: block; font-size: 14px; font-weight: 400; line-height: 20px; min-height: 36px; padding: 4px 12px 2px; overflow: hidden; overflow-wrap: anywhere; position: relative; }
.ci-vlist-body li p { margin: 0; }
/* The canvas's empty-item floor (1.2em) outranks the row's: the count is no longer there to hold it. */
.ci-vlist-body li:empty { min-height: 36px; }
/* Bullet = tone dot on the row's middle, number = tone counter on the content box's, none = bare
   pill. data-tone paints pros green / cons red: the wrapper's block setting, or a per-item mark on
   the li (settings.list.cons), which wins. */
.ci-vlist-body ul[data-marker="bullet"] > li { padding-left: 34px; }
.ci-vlist-body ul[data-marker="bullet"] > li::before { background: #0c866a; border-radius: 50%; content: ""; height: 6px; left: 16px; position: absolute; top: calc(50% - 3px); width: 6px; }
.ci-vlist-body[data-tone="cons"] ul[data-marker="bullet"] > li::before { background: #ba4033; }
.ci-vlist-body ul[data-marker="bullet"] > li[data-tone="cons"]::before { background: #ba4033; }
/* The count's gutter grows with its digits (VLIST_COUNT_WIDTH) at the count of 10 and of 100. */
.ci-vlist-body ol[data-marker="number"] > li { counter-increment: ci-vlist-n; padding-left: 32px; }
.ci-vlist-body ol[data-marker="number"] > li:nth-child(n+10) { padding-left: 40px; }
.ci-vlist-body ol[data-marker="number"] > li:nth-child(n+100) { padding-left: 49px; }
.ci-vlist-body ol[data-marker="number"] > li::before { align-items: center; bottom: 2px; color: #0c866a; content: counter(ci-vlist-n) "."; display: flex; font-weight: 700; left: 12px; position: absolute; top: 4px; }
.ci-vlist-body[data-tone="cons"] ol[data-marker="number"] > li::before { color: #ba4033; }
.ci-vlist-body ol[data-marker="number"] > li[data-tone="cons"]::before { color: #ba4033; }
/* Horizontal (Figma 2591:5242): pros left, cons right, equal columns, 20px
   gutter. Dense packing backfills the cons column from row 1, so each side
   stacks from the top; a row hugs its own height beside a taller one. */
.ci-vlist-body ul[data-layout="horizontal"], .ci-vlist-body ol[data-layout="horizontal"] { align-items: start; column-gap: 20px; display: grid; grid-auto-flow: row dense; grid-template-columns: 1fr 1fr; row-gap: 14px; }
/* Two columns is the stored setting, not a count of the tones: an all-pros
   list in Two draws its right half empty rather than rearranging itself when
   the first con is marked (ADR-1, PRODUCT_DECISIONS). */
.ci-vlist-body [data-layout="horizontal"] > li { grid-column: 1; }
.ci-vlist-body [data-layout="horizontal"] > li[data-tone="cons"] { grid-column: 2; }
/* Numbering restarts per column, or the cons side would continue the pros
   count (1,2,3 | 4,5) instead of reading as its own list. */
.ci-vlist-body ol[data-layout="horizontal"][data-marker="number"] { counter-reset: ci-vlist-n ci-vlist-c; }
.ci-vlist-body ol[data-layout="horizontal"][data-marker="number"] > li[data-tone="cons"] { counter-increment: ci-vlist-c; }
.ci-vlist-body ol[data-layout="horizontal"][data-marker="number"] > li[data-tone="cons"]::before { content: counter(ci-vlist-c) "."; }
/* And the gutter follows the column's own count, so a side of nine keeps the narrow one: the
   exact complement of the one-column query below, so no fractional width falls between them. */
@media not all and (max-width: 900px) {
  .ci-vlist-body ol[data-layout="horizontal"][data-marker="number"] > li:nth-child(n+10) { padding-left: 32px; }
  .ci-vlist-body ol[data-layout="horizontal"][data-marker="number"] > li:not([data-tone="cons"]):nth-child(n+10 of :not([data-tone="cons"])), .ci-vlist-body ol[data-layout="horizontal"][data-marker="number"] > li[data-tone="cons"]:nth-child(n+10 of [data-tone="cons"]) { padding-left: 40px; }
  .ci-vlist-body ol[data-layout="horizontal"][data-marker="number"] > li:not([data-tone="cons"]):nth-child(n+100 of :not([data-tone="cons"])), .ci-vlist-body ol[data-layout="horizontal"][data-marker="number"] > li[data-tone="cons"]:nth-child(n+100 of [data-tone="cons"]) { padding-left: 49px; }
}
@media (max-width: 900px) {
  .ci-vlist-body ul[data-layout="horizontal"], .ci-vlist-body ol[data-layout="horizontal"] { grid-template-columns: 1fr; }
  .ci-vlist-body [data-layout="horizontal"] > li, .ci-vlist-body [data-layout="horizontal"] > li[data-tone="cons"] { grid-column: 1; }
  /* One column again, so one count again — the per-column counter would
     repeat itself down the stack (1. 1. 2. 2.). */
  .ci-vlist-body ol[data-layout="horizontal"][data-marker="number"] > li[data-tone="cons"] { counter-increment: ci-vlist-n; }
  .ci-vlist-body ol[data-layout="horizontal"][data-marker="number"] > li[data-tone="cons"]::before { content: counter(ci-vlist-n) "."; }
}
.ci-vlist a[href] { color: #5749dd; text-decoration: none; }
.ci-vlist a[href]:hover { text-decoration: underline; }
.ci-vlist a[href]:focus-visible { border-radius: 5px; outline: 2px solid #5749dd; outline-offset: 3px; }
.ci-gpq * { box-sizing: border-box; }
.ci-gpq { box-sizing: border-box; font-family: 'Nunito Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color: #202224; margin: 0 auto; max-width: calc(1200px + 56px); padding: 20px 28px; width: 100%; }
@media (max-width: 1199.98px) { .ci-gpq { padding-left: 24px; padding-right: 24px; } }
@media (max-width: 560px) { .ci-gpq { padding-left: 20px; padding-right: 20px; } }
/* The frame is an inset shadow: Figma's inside stroke takes no room (COMPONENT_GENERATION.md). */
.ci-gpq-panel { align-items: flex-start; background: #fff; border-radius: 12px; box-shadow: inset 0 0 0 1px #0c866a; display: flex; gap: 8px; padding: 20px; }
.ci-gpq-mark { display: block; flex: none; height: 21px; object-fit: contain; width: 21px; }
/* One uploaded glyph serves both ends: the closing mark IS the opening one
   turned around, top-aligned like it, exactly as content/quote draws it. */
.ci-gpq-mark-close { transform: rotate(180deg); }
.ci-gpq-text { flex: 1; font-size: 16px; font-style: italic; font-weight: 500; line-height: 1.5; min-width: 0; overflow-wrap: anywhere; }
/* Every rich-text block, nested ones too (p in a blockquote or li), keeps the 20px rhythm and the marks' top line. */
.ci-gpq-text > * { margin: 0 0 20px; }
.ci-gpq-text p { margin: 0 0 20px; }
.ci-gpq-text :last-child { margin-bottom: 0; }
/* Forced colours and print drop box-shadows: a real border (inside the same 20px) keeps the frame. */
@media print, (forced-colors: active) { .ci-gpq-panel { border: 1px solid #0c866a; box-shadow: none; padding: 19px; } }
/* v5 tablet and phone frames: 500 italic 14/24 (DREAM-831). */
@media (max-width: 1199.98px) { .ci-gpq-text { font-size: 14px; line-height: 24px; } }
.ci-gpq a[href] { color: #5749dd; text-decoration: none; }
.ci-gpq a[href]:hover { text-decoration: underline; }
.ci-gpq a[href]:focus-visible { border-radius: 5px; outline: 2px solid #5749dd; outline-offset: 3px; }
.ci-faq-section * { box-sizing: border-box; }
.ci-faq-section { box-sizing: border-box; color: #202224; font-family: 'Nunito Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; margin: 0 auto; max-width: calc(1200px + 56px); padding: 20px 28px; }
@media (max-width: 1199.98px) { .ci-faq-section { padding-left: 24px; padding-right: 24px; } }
@media (max-width: 560px) { .ci-faq-section { padding-left: 20px; padding-right: 20px; } }

.ci-faq-head { align-items: center; display: flex; gap: 16px; margin: 0 0 24px; }
.ci-faq-head:empty { display: none; }
.ci-faq-head::before { align-self: stretch; background: #0c866a; content: ""; flex: none; min-height: 45px; width: 5px; }
.ci-faq-head h2 { font-size: 28px; letter-spacing: -.035em; margin: 0; }
.ci-faq-head-link { color: #202224; font-weight: 800; margin-left: auto; text-decoration: none; white-space: nowrap; }
.ci-faq-head-link::after { color: #0c866a; content: " →"; font-weight: 800; margin-left: 10px; }
/* The title is a flex item: without min-width 0 a long word in it widens the page too (0448). */
.ci-faq-head h2 { min-width: 0; overflow-wrap: break-word; }
/* minmax(0, ...): an auto track grows to a question's longest word and the page scrolls sideways (0448). */
.ci-faq-list { display: grid; grid-template-columns: minmax(0, 1fr); }
/* The ring goes 3px round the row and its divider (an absolute box stands on the padding box, inside that border). */
.ci-faq-item { border-bottom: 1px solid #d9d9d9; position: relative; }
/* The 20px above the divider belongs to the summary when closed, to the answer when open: all of a row toggles. */
.ci-faq-question { align-items: center; cursor: pointer; display: flex; gap: 20px; list-style: none; padding: 16px 20px 36px; }
.ci-faq-item[open] > .ci-faq-question { padding-bottom: 20px; }
.ci-faq-question::-webkit-details-marker { display: none; }
/* Only where the ring can draw: without :has() the browser keeps its own outline. */
@supports selector(:has(*)) { .ci-faq-question:focus-visible { outline: none; } }
.ci-faq-item:has(> .ci-faq-question:focus-visible)::after { border-radius: 8px; content: ''; inset: -3px -3px -4px; outline: 2px solid #5749dd; pointer-events: none; position: absolute; }
/* heading/h4-trim on the design's h3 (and h4, the same 20px) at every width; another level keeps its own size, untrimmed. */
.ci-faq-question-text { color: #202224; flex: 1; font-size: 20px; font-weight: 700; line-height: 28px; margin: -6px 0 -8px; min-width: 0; overflow-wrap: break-word; text-decoration-skip-ink: none; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.ci-faq-question-text:not(h3):not(h4) { line-height: 1.25; margin: 0; }
h1.ci-faq-question-text { font-size: 32px; line-height: 36px; }
h2.ci-faq-question-text { font-size: 28px; }
h4.ci-faq-question-text { font-size: 20px; }
h5.ci-faq-question-text, h6.ci-faq-question-text { font-size: 18px; }
@media (hover: hover) { .ci-faq-question:hover .ci-faq-question-text { text-decoration-line: underline; } }
.ci-faq-question:active .ci-faq-question-text { text-decoration-line: underline; }
.ci-faq-chevron { color: #545658; display: block; flex: none; height: 24px; width: 24px; }
.ci-faq-chevron-glyph { display: block; height: 100%; width: 100%; }
.ci-faq-item[open] .ci-faq-chevron { transform: rotate(180deg); }
@media (prefers-reduced-motion: no-preference) { .ci-faq-chevron { transition: transform .15s ease; } }
/* body/md-trim: the trim sits on the container, so any number of paragraphs keeps it. */
.ci-faq-answer { color: #202224; font-size: 16px; font-weight: 400; line-height: 24px; margin: -6px 0 -7px; overflow-wrap: break-word; padding: 0 20px 36px; }
.ci-faq-answer > * { margin: 0 0 20px; }
.ci-faq-answer > :last-child { margin-bottom: 0; }
/* h4 is left to the step below: the canvas draws a 560 query after a 1199.98 one, whatever the source order. */
@media (max-width: 560px) { h1.ci-faq-question-text { font-size: 28px; line-height: 32px; } h2.ci-faq-question-text { font-size: 24px; } h5.ci-faq-question-text, h6.ci-faq-question-text { font-size: 17px; } }
/* Below the desktop v5 steps the row down (DREAM-820): the question 18/24, the answer 14/22, both trimmed to their caps. */
@media (max-width: 1199.98px) {
  h3.ci-faq-question-text, h4.ci-faq-question-text { font-size: 18px; line-height: 24px; margin: -5px 0 -6px; }
  .ci-faq-answer { font-size: 14px; line-height: 22px; margin: -5px 0 -7px; }
}
.ci-faq-answer a[href] { color: #5749dd; text-decoration: none; }
.ci-faq-answer a[href]:hover { text-decoration: underline; }
.ci-faq-answer a[href]:focus-visible { border-radius: 5px; outline: 2px solid #5749dd; outline-offset: 3px; }
.ci-abio * { box-sizing: border-box; }
.ci-abio { box-sizing: border-box; font-family: 'Nunito Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color: #202224; margin: 0 auto; max-width: calc(1200px + 40px); padding: 20px; width: 100%; }
@media (max-width: 1199.98px) { .ci-abio { padding-left: 24px; padding-right: 24px; } }
@media (max-width: 560px) { .ci-abio { padding-left: 20px; padding-right: 20px; } }
.ci-abio-card { align-items: center; background: #f3f3f3; border-radius: 12px; display: flex; gap: 20px; padding: 16px; }
.ci-abio-photo { background: #d9d9d9; border-radius: 50%; display: flex; flex: none; overflow: hidden; }
.ci-abio-photo-img { display: block; height: 96px; object-fit: cover; width: 96px; }
.ci-abio-photo-img[src=""], .ci-abio-photo-img:not([src]) { opacity: 0; }
.ci-abio-body { display: flex; flex: 1; flex-direction: column; gap: 12px; justify-content: center; min-width: 0; overflow-wrap: break-word; padding: 0; }
/* The name, title and bio trim on Chromium's whole pixels (capTrimCuts) at every width; the separator 8 under the name's baseline (PR #590 R2.3). */
.ci-abio-name { align-self: flex-start; border: 0; color: #202224; font-size: 16px; font-weight: 700; line-height: 22px; margin: -5px 0 0; max-width: 100%; padding: 0; }
.ci-abio-name::after { background: #0c866a; content: ''; display: block; height: 1.5px; margin-top: 2px; }
.ci-abio-name-link { border-radius: 4px; color: inherit; text-decoration: none; }
.ci-abio-name-link:hover { color: #1b5547; }
.ci-abio-name-link:focus-visible { outline: 2px solid #5749dd; outline-offset: 0; }
.ci-abio-title, .ci-abio-text { font-size: 14px; line-height: 20px; margin: -4px 0 -6px; }
.ci-abio-title { color: #545658; }
.ci-abio-text { color: #202224; }
.ci-abio-text > * { margin: 0; }
.ci-abio-text > * + * { margin-top: 15px; }
/* Every v5 tablet and phone frame draws the byline's Compact layout (0498): the separator purple, the name 700 14/22,
   the title and bio 14/18 (PR #590 R1.5). */
@media (max-width: 1199.98px) {
  .ci-abio-name { font-size: 14px; margin: -5px 0 0; }
  .ci-abio-name::after { background: #5749dd; margin-top: 1px; }
  .ci-abio-title, .ci-abio-text { line-height: 18px; margin: -3px 0 -5px; }
}