

:root {
    --font-sans: sans-serif;
    --font-serif: serif;
    --font-size-base: 1rem;
    --font-size-l: 1.125rem;
    --font-size-s: 0.875rem;
    --font-size-xs: 0.8125rem;
    --font-size-xxs: 0.75rem;
    --line-height-base: 1.6875rem;
    --line-height-s: 1.125rem;
    --max-width: 84.375rem;
    --max-bg-color: 98.125rem;
    --sp: 1.125rem;
    --content-left: 5.625rem;
    --site-header-height-wide: var(--sp10);
    --container-padding: var(--sp);
}

@media (min-width: 75rem) {
    :root {
        --container-padding:var(--sp2);
    }
}

:root {
    --scrollbar-width: 0px;
    --grid-col-count: 6;
    --grid-gap: var(--sp);
    --grid-gap-count: calc(var(--grid-col-count) - 1);
    --grid-full-width: calc(100vw - var(--sp2) - var(--scrollbar-width));
    --grid-col-width: calc((var(--grid-full-width) - (var(--grid-gap-count) * var(--grid-gap))) / var(--grid-col-count));
}

@media (min-width: 43.75rem) {
    :root {
        --grid-col-count:14;
        --grid-gap: var(--sp2);
    }
}

@media (min-width: 62.5rem) {
    :root {
        --scrollbar-width:0.9375rem;
    }
}

@media (min-width: 75rem) {
    :root {
        --grid-full-width:calc(100vw - var(--scrollbar-width) - var(--content-left) - var(--sp4));
    }
}

@media (min-width: 90rem) {
    :root {
        --grid-full-width:calc(var(--max-width) - var(--sp4));
    }
}

:root {
    --sp0-25: calc(0.25 * var(--sp));
    --sp0-5: calc(0.5 * var(--sp));
    --sp0-75: calc(0.75 * var(--sp));
    --sp1: calc(1 * var(--sp));
    --sp1-5: calc(1.5 * var(--sp));
    --sp2: calc(2 * var(--sp));
    --sp2-5: calc(2.5 * var(--sp));
    --sp3: calc(3 * var(--sp));
    --sp4: calc(4 * var(--sp));
    --sp5: calc(5 * var(--sp));
    --sp6: calc(6 * var(--sp));
    --sp7: calc(7 * var(--sp));
    --sp8: calc(8 * var(--sp));
    --sp9: calc(9 * var(--sp));
    --sp10: calc(10 * var(--sp));
    --sp11: calc(11 * var(--sp));
    --sp12: calc(12 * var(--sp));
    --color--gray-hue: 201;
    --color--gray-saturation: 15%;
    --color--gray-5: hsl(var(--color--gray-hue),var(--color--gray-saturation),5%);
    --color--gray-10: hsl(var(--color--gray-hue),var(--color--gray-saturation),11%);
    --color--gray-20: hsl(var(--color--gray-hue),var(--color--gray-saturation),20%);
    --color--gray-45: hsl(var(--color--gray-hue),var(--color--gray-saturation),44%);
    --color--gray-60: hsl(var(--color--gray-hue),var(--color--gray-saturation),57%);
    --color--gray-65: hsl(var(--color--gray-hue),var(--color--gray-saturation),63%);
    --color--gray-70: hsl(var(--color--gray-hue),var(--color--gray-saturation),72%);
    --color--gray-90: hsl(var(--color--gray-hue),var(--color--gray-saturation),88%);
    --color--gray-95: hsl(var(--color--gray-hue),var(--color--gray-saturation),93%);
    --color--gray-100: hsl(var(--color--gray-hue),var(--color--gray-saturation),97%);
    --color--primary-hue: 202;
    --color--primary-saturation: 79%;
    --color--primary-lightness: 50;
    --color--primary-30: hsl(var(--color--primary-hue),var(--color--primary-saturation),calc(1% * (var(--color--primary-lightness) - (0.36 * var(--color--primary-lightness)))));
    --color--primary-40: hsl(var(--color--primary-hue),var(--color--primary-saturation),calc(1% * (var(--color--primary-lightness) - (0.24 * var(--color--primary-lightness)))));
    --color--primary-50: hsl(var(--color--primary-hue),var(--color--primary-saturation),calc(1% * var(--color--primary-lightness)));
    --color--primary-60: hsl(var(--color--primary-hue),var(--color--primary-saturation),calc(1% * (var(--color--primary-lightness) + (0.24 * (100 - var(--color--primary-lightness))))));
    --color--primary-80: hsl(var(--color--primary-hue),var(--color--primary-saturation),calc(1% * (var(--color--primary-lightness) + (0.85 * (100 - var(--color--primary-lightness))))));
    --color-text-neutral-soft: var(--color--gray-45);
    --color-text-neutral-medium: var(--color--gray-20);
    --color-text-neutral-loud: var(--color--gray-5);
    --color-text-primary-medium: var(--color--primary-40);
    --color-text-primary-loud: var(--color--primary-30);
    --color--black: #000;
    --color--white: #fff;
    --color--red: #e33f1e;
    --color--gold: #fdca40;
    --color--green: #3fa21c;
    --header-height-wide-when-fixed: calc(6 * var(--sp));
    --mobile-nav-width: 31.25rem;
    --border-radius: 0.1875rem;
}


.text-content,.cke_editable {
    color: var(--color-text-neutral-medium);
    font-family: var(--font-serif);
    line-height: var(--sp1-5);
}

.text-content a:where(:not(.button)),.cke_editable a:where(:not(.button)) {
    color: var(--color-text-primary-medium);
    text-decoration-color: currentColor;
    text-decoration-thickness: 2px;
    overflow-wrap: break-word;
}

@supports (box-shadow: none) {
    .text-content a:where(:not(.button)),.cke_editable a:where(:not(.button)) {
        transition:box-shadow 0.3s cubic-bezier(0.55,0.085,0,0.99);
        text-decoration: none;
        box-shadow: inset 0 -2px 0 0 var(--color--primary-50);
    }

    .text-content a:where(:not(.button)):hover,.cke_editable a:where(:not(.button)):hover {
        text-decoration: underline;
        color: var(--color--black);
        box-shadow: inset 0 -2em 0 0 var(--color--primary-80);
        text-decoration-color: var(--color--primary-80);
    }
}

.text-content p,.cke_editable p {
    margin-block-start:var(--sp);margin-block-end: var(--sp);
}

.text-content p:first-child,.cke_editable p:first-child {
    margin-block-start:0;}

.text-content p:last-child,.cke_editable p:last-child {
    margin-block-end:0;}

@media (min-width: 43.75rem) {
    .text-content p,.cke_editable p {
        margin-block-start:var(--sp2);
        margin-block-end:var(--sp2);}
}

.text-content code,.cke_editable code {
    background-color: var(--color--gray-100);
}

.text-content pre code,.cke_editable pre code {
    display: block;
    overflow: auto;
    padding-block:var(--sp);padding-inline-start: var(--sp);
    padding-inline-end:var(--sp);color: var(--color-text-neutral-soft);
}

.text-content blockquote,.cke_editable blockquote {
    position: relative;
    margin-block:var(--sp2);margin-inline-start: 0;
    margin-inline-end:0;padding-inline-start:var(--sp2);letter-spacing: -0.01em;
    font-family: var(--font-serif);
    font-size: 1.3125rem;
    line-height: var(--sp2);
}

.text-content blockquote:before,.cke_editable blockquote:before {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    content: "\201C";
    color: var(--color--primary-60);
    font-size: 3.375rem;
}

.text-content blockquote:after,.cke_editable blockquote:after {
    position: absolute;
    inset-block-end: 0;
    inset-inline-start: 0;
    width: var(--sp0-5);
    height: calc(100% - 1.875rem);
    margin-inline-start:0.25rem;content: "";
    background: var(--color--gray-100);
}
