/* Clees & Ernster — base element styles */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;color-scheme:dark}
[data-theme="light"]{color-scheme:light}
body{margin:0;background:var(--bg-page);color:var(--text-1);font-family:var(--font-sans);font-size:var(--fs-body-m);line-height:var(--lh-body-m);letter-spacing:var(--ls-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01" 0}
h1,h2,h3,h4{margin:0;font-weight:var(--type-heading-weight);color:var(--text-1);text-wrap:balance}
p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-underline-offset:3px;transition:color var(--dur-micro) var(--ease-out),text-decoration-color var(--dur-micro) var(--ease-out)}
a:hover{color:var(--text-1);text-decoration-color:currentColor}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
::selection{background:var(--ce-blue-600);color:#fff}

/* Type helpers */
.ce-display{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:var(--type-display-weight)}
.ce-h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--ls-h1);font-weight:600}
.ce-h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);font-weight:600}
.ce-h3{font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);font-weight:600}
.ce-h4{font-size:var(--fs-h4);line-height:var(--lh-h4);letter-spacing:var(--ls-h4);font-weight:600}
.ce-body-l{font-size:var(--fs-body-l);line-height:var(--lh-body-l)}
.ce-body-m{font-size:var(--fs-body-m);line-height:var(--lh-body-m)}
.ce-body-s{font-size:var(--fs-body-s);line-height:var(--lh-body-s)}
.ce-caption{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-3)}
.ce-label{font-family:var(--font-mono);font-size:var(--fs-label);line-height:var(--lh-label);letter-spacing:var(--ls-label);text-transform:uppercase;font-weight:500}
.ce-mono{font-family:var(--font-mono);font-size:var(--fs-mono);line-height:var(--lh-mono);font-variant-numeric:tabular-nums}
.ce-kpi{font-family:var(--font-mono);font-size:var(--fs-kpi);line-height:var(--lh-kpi);letter-spacing:var(--ls-kpi);font-weight:500;font-variant-numeric:tabular-nums}
.ce-container{width:100%;max-width:calc(var(--container-max) + 2*var(--margin-desktop));margin:0 auto;padding:0 var(--margin-mobile)}
@media (min-width:768px){.ce-container{padding:0 var(--margin-tablet)}}
@media (min-width:1200px){.ce-container{padding:0 var(--margin-desktop)}}
