:root {
    color-scheme: dark;
    --accent: rgb(0, 113, 227);
}

html {
    background-color: #000;
    font-family: "Inter", -apple-system, sans-serif;
    scroll-behavior: smooth;
}

body {
    margin: 0;
}

/* Typography */
h1, h2 {
    margin: 0;
}

h2, h3, h4 {
    font-weight: 600;
}

p {
    color: #dbdbdb;
}

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, p:first-child {
    margin-top: 0;
}
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, p:last-child {
    margin-bottom: 0;
}

p.callout {
    font-size: 19px;
    font-weight: 600;
    color: #868689;
    margin: 0 auto;
    max-width: 410px;
}
p.callout > span.highlight {
    color: #fff;
}

.eyebrow {
    font-weight: 600;
    font-size: 21px;
    margin: 0;
}
.headline {
    font-size: 56px;
    font-weight: 600;
    margin-top: 15px;
    margin-bottom: 0;
}
h2.headline {
    color: #86868b;
}
@media only screen and (max-width: 734px) {
    .headline {
        font-size: 48px;
    }
}

.pane {
    padding: 0 2rem 100px;
    scroll-margin-top: 52px;
    max-width: 1000px;
    margin: 0 auto;
}
.pane > header {
    padding-top: 200px;
}
.pane > header:last-of-type {
    margin-bottom: 2rem;
}
@media only screen and (max-width: 1068px) {
    .pane > header {
        padding-top: 140px
    }
}
@media only screen and (max-width: 734px) {
    .pane > header {
        padding-top: 100px
    }
}

.hero {
    min-height: 100vh;
    clip-path: inset(0);
}

.hero > .text {
    --scroll-extent: 0;
    transform: scale(calc(1 + calc(var(--scroll-extent) * .6)));
    opacity: calc(1 - calc(max(calc(var(--scroll-extent) - 0.5), 0) * 2));
    filter: blur(calc(var(--scroll-extent) * 28px)) saturate(calc(1 + var(--scroll-extent)));

    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    top: 20vh;
    position: fixed;
    width: 100%;

    text-align: center;
    z-index: 1;
}

.hero > img {
    left: 50%;
    transform: translateX(-50%);

    width: calc(100% - 3rem);
    max-width: 500px;
    margin-top: calc(50vh + max(calc(500px - 100vw), 0px));
    margin-bottom: 1rem;
    z-index: 2;
    position: relative;
    filter: drop-shadow(0 0 28px rgba(0,0,0,0.5)) drop-shadow(0 0 48px rgba(0,0,0,0.5)) drop-shadow(0 0 24px rgba(0,0,0,0.4)) drop-shadow(0 0 32px rgba(0,0,0,0.6));
}

.hero > .text > h1 {
    font-size: 4em;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(109deg, #ffffff, #267ffa);
    -webkit-mask-image: none;
}
@media only screen and (max-width: 599px) {
    .hero > .text > h1 {
        font-size: 3.5em;
    }
}

.hero > .text > h3 {
    opacity: .8;
    margin-top: .5rem;
    margin-bottom: 1.5rem;
}

main {
    display: unset;
}

nav.tabs {
    display: flex;
    height: 52px;
    gap: 1.5rem;
    padding: 0 22px;
    position: sticky;
    justify-content: center;
    align-items: center;
    top: 0;
    background: rgba(22, 22, 23, .8);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
    border: solid rgba(255 255 255 / 0.24);
    border-width: 0 0 1px 0;
}

.tabs > h2 {
    margin: 0;
    font-weight: 600;
    font-size: 21px;
}

.tabs > .tab {
    height: 100%;
    display: flex;
    align-items: center;
    text-decoration: none;
    font-size: .75em;
    color: #fff;
}

.tabs > .spacer {
    flex: 1;
}

.cta {
    outline: 0;
    background: rgb(66 66 69/70%);
    color: #fff;
    padding: 10px 10px 10px 0;
    text-decoration: none;
    border-radius: 100px;
    transition: background-color .1s ease-out;
    display: flex;
    align-items: center;
    cursor: pointer;
}
.cta > span {
    flex-shrink: 0;
    padding: 0 1rem 0 1.5rem;
    font-size: 14px;
    font-weight: 600;
}
.cta > svg {
    width: 36px;
    background-color: var(--accent);
    border-radius: 50%;
}

.cta:hover > svg {
    background-color: rgb(0, 121, 239);
}

.cta:active > svg {
    background-color: rgb(0, 100, 202);
}

/* About section */
.led {
    width: 48px;
    height: 32px;
    background: #eaeaea;
}
.led > .emitter {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #0f0;
}

.infobox {
    background: #000;
    border-radius: 28px;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.infobox > *:first-child {
    margin-top: 0
}
.infobox > h2 {
    font-size: 2em;
}

.mt {
    margin-top: 2rem;
}
.mb {
    margin-bottom: 2rem;
}

.accent-bg {
    background: #1d1d1f;
}
.accent-bg .infobox {
    background-color: #000;
}

footer {
    color: rgba(255 255 255 / .56);
    font-size: .8em;
}
footer > .pane {
    padding: 1rem;
}
