/** HCTCLIENT01 TYPOGRAPHY V1 - theme replaceable, fluid and responsive. */
body {
    color: var(--hctclient01-color-text);
    font-family: var(--hctclient01-font-family-base);
    font-size: var(--hctclient01-font-size-md);
    line-height: var(--hctclient01-line-height-base);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-block: 0;
    color: var(--hctclient01-color-heading);
    font-family: var(--hctclient01-font-family-heading);
    font-weight: var(--hctclient01-font-weight-bold);
    line-height: var(--hctclient01-line-height-heading);
    text-wrap: balance;
}

.hctclient01-heading-1 { font-size: var(--hctclient01-font-size-4xl); }
.hctclient01-heading-2 { font-size: var(--hctclient01-font-size-3xl); }
.hctclient01-heading-3 { font-size: var(--hctclient01-font-size-2xl); }
.hctclient01-heading-4 { font-size: var(--hctclient01-font-size-xl); }
.hctclient01-body-lg { font-size: var(--hctclient01-font-size-lg); }
.hctclient01-body { font-size: var(--hctclient01-font-size-md); }
.hctclient01-body-sm { font-size: var(--hctclient01-font-size-sm); }
.hctclient01-caption { font-size: var(--hctclient01-font-size-xs); }
.hctclient01-text-muted { color: var(--hctclient01-color-text-muted); }
.hctclient01-text-center { text-align: center; }

.hctclient01-richtext {
    overflow-wrap: anywhere;
}

.hctclient01-richtext > :first-child { margin-top: 0; }
.hctclient01-richtext > :last-child { margin-bottom: 0; }
.hctclient01-richtext p,
.hctclient01-richtext ul,
.hctclient01-richtext ol { margin-block: 0 1em; }
.hctclient01-richtext img { height: auto; }

@media (max-width: 479px) {
    .hctclient01-heading-1,
    .hctclient01-heading-2,
    .hctclient01-heading-3,
    .hctclient01-heading-4 {
        text-wrap: pretty;
    }
}


/* Global semantic typography contract. */
.hctclient01-page-title { font-size: var(--hctclient01-text-page-title); }
.hctclient01-section-title { font-size: var(--hctclient01-text-section-title); }
.hctclient01-panel-title { font-size: var(--hctclient01-text-panel-title); }
.hctclient01-card-title { font-size: var(--hctclient01-text-card-title); }
.hctclient01-body-text { font-size: var(--hctclient01-text-body); }
.hctclient01-meta-text { font-size: var(--hctclient01-text-meta); }
