*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    margin: 0;
}

.container {
    --max-width: 30rem;
    width: min(100% - 2rem, var(--max-width));
    margin-inline: auto;
}

.semi-transparent-text {
    mix-blend-mode: color-burn;
}

.hero {
    position: relative;
    isolation: isolate;
    padding: 1em;
}

.hero-title-container {
    position: relative;
    margin-block: 5rem;
}

.hero-title {
    color: #343434;
    mix-blend-mode: color-burn;
    line-height: 1.1;
    font-size: 5rem;
    font-weight: 700;
    max-width: 13ch;
    margin: 0;
}

.hero-title[data-overlay] {
    mix-blend-mode: revert;
    position: absolute;
    left: 0;
    top: 0px;
    color: #111;
    z-index: 2;
    opacity: 0.4;
}

.canvas-container {
    position: absolute;
    z-index: -1;
    inset: 0;
    height: 50vh;
    /*clip-path: polygon(0 0, 100% 0, 100% 35%, 0% 100%);*/
    clip-path: ellipse(100% 100% at 0% 0%);
}

canvas {
    width: 100%;
    height: 100%;
}