.cim-500x2000-wrap {
    box-sizing: border-box;
    container-type: inline-size;
    min-width: 0;
    width: 100%;
    max-width: 100%;
}

.cim-500x2000-wrap *, .cim-500x2000-wrap *::before, .cim-500x2000-wrap *::after { box-sizing: border-box; }

.cim-500x2000 {
    width: 100%;
    max-width: min(100%, var(--cim-card-width, 736px));
    min-width: 0;
    margin-inline: auto;
    padding: var(--cim-padding-y, 24px) min(var(--cim-padding-x, 16px), 10cqw);
    border-radius: var(--cim-card-radius, 12px);
    background: var(--cim-background-mode, var(--cim-bg, #244985));
    color: var(--cim-text-color, #F0C668);
    text-align: center;
    font-family: var(--cim-font-family, Arial, Helvetica, sans-serif);
    overflow-wrap: anywhere;
}

.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-title {
    margin: 0;
    color: var(--cim-title-color, #fff);
    font-size: var(--cim-title-size, 28px);
    font-weight: var(--cim-title-weight, 700);
    line-height: 1.2;
    text-wrap: balance;
}

.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-rule {
    display: block;
    width: min(100%, var(--cim-rule-width, 38px));
    height: 4px;
    margin: var(--cim-rule-gap, 12px) auto;
    background: var(--cim-rule-color, #D8BD73);
}

.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-body {
    max-width: min(100%, var(--cim-text-width, 688px));
    margin-inline: auto;
    color: var(--cim-text-color, #F0C668);
    font-size: var(--cim-body-size, 15px);
    font-weight: var(--cim-body-weight, 400);
    line-height: var(--cim-line-height, 1.5);
    letter-spacing: var(--cim-letter-spacing, 0px);
}

.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-body p { margin: 0 0 var(--cim-paragraph-gap, 20px); }
.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-body p:last-child { margin-bottom: 0; }
.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-body p {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    font-family: inherit;
    letter-spacing: inherit;
    color: inherit;
}
.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-body strong,
.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-body em,
.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-body a { font-size: inherit; line-height: inherit; color: inherit; }

.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-count {
    margin: var(--cim-count-gap, 32px) 0 12px;
    color: var(--cim-text-color, #F0C668);
    font-size: var(--cim-count-size, 20px);
    font-weight: 700;
    line-height: 1.3;
}

.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-progress {
    width: 100%;
    height: var(--cim-bar-height, 15px);
    overflow: hidden;
    border-radius: 999px;
    background: var(--cim-track-color, #466394);
}

.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--cim-fill-color, #D9B65C);
}

.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-scale {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px;
    margin-top: 5px;
    color: var(--cim-text-color, #F0C668);
    font-size: var(--cim-scale-size, 13px);
    line-height: 1.3;
}
.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-scale span { font-size: inherit; line-height: inherit; color: inherit; }

.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    margin-top: var(--cim-button-gap, 20px);
    padding: var(--cim-button-padding-y, 14px) var(--cim-button-padding-x, 26px);
    border-radius: var(--cim-button-radius, 7px);
    background: var(--cim-button-bg, #D8BD73);
    color: var(--cim-button-color, #244985);
    font-size: var(--cim-button-size, 15px);
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-button:hover,
.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-button:focus-visible {
    background: var(--cim-button-bg, #D8BD73);
    color: var(--cim-button-color, #244985);
    filter: brightness(1.08);
}

.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-button:focus-visible {
    outline: 2px solid var(--cim-title-color, #fff);
    outline-offset: 3px;
}

@container (max-width: 28rem) {
    .cim-500x2000 { padding-block: calc(var(--cim-padding-y, 24px) * .85); }
    .cim-500x2000-wrap .cim-500x2000 .cim-500x2000-title { font-size: calc(var(--cim-title-size, 28px) * .78); }
    .cim-500x2000-wrap .cim-500x2000 .cim-500x2000-body { font-size: calc(var(--cim-body-size, 15px) * .93); }
    .cim-500x2000-wrap .cim-500x2000 .cim-500x2000-body p { margin-bottom: calc(var(--cim-paragraph-gap, 20px) * .75); }
    .cim-500x2000-wrap .cim-500x2000 .cim-500x2000-body p:last-child { margin-bottom: 0; }
    .cim-500x2000-wrap .cim-500x2000 .cim-500x2000-count { font-size: calc(var(--cim-count-size, 20px) * .9); }
    .cim-500x2000-wrap .cim-500x2000 .cim-500x2000-count { margin-top: calc(var(--cim-count-gap, 32px) * .7); }
    .cim-500x2000-wrap .cim-500x2000 .cim-500x2000-button { font-size: calc(var(--cim-button-size, 15px) * .95); margin-top: calc(var(--cim-button-gap, 20px) * .8); padding-block: calc(var(--cim-button-padding-y, 14px) * .85); }
}

.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-expanded { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 20px 0; color: var(--cim-text-color, #F0C668); }
.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-expanded dt { font-size: var(--cim-scale-size, 13px); font-weight: 400; }
.cim-500x2000-wrap .cim-500x2000 .cim-500x2000-expanded dd { margin: 4px 0 0; font-size: var(--cim-count-size, 20px); font-weight: 700; }
.cim-500x2000-wrap .cim-500x2000-compact .cim-500x2000-count { margin-top: 0; }
