﻿@charset "UTF-8";
:root {
    --okd-header-inline-height: 80px;
    --okd-vh: 100dvh;
    --okd-body-background-color: var(--okd--preset--color--neutral-90);
    --okd-body-text-color: var(--okd--preset--color--neutral-05);
    --okd-selection-background: var(--okd--preset--color--hypergreen);
    --okd-selection-color: var(--okd--preset--color--neutral-110);
    --okd-page-transition-bg: var(--okd--preset--color--neutral-90);
    --okd-block-border-line-color: var(--okd--preset--color--neutral-50);
    --okd-block-max-width: 2108px;
    --okd-block-max-width-narrow: 928px;
    --okd-block-padding-inline: 40px;
    --okd-line-gutter: var(--okd--preset--spacing--16);
    --okd-line-color: var(--okd--preset--color--neutral-50);
    --okd-line-width: 0.5px;
    --okd-block-theme-bg-neutral-110: var(--okd--preset--color--neutral-110);
    --okd-block-theme-bg-neutral-100: var(--okd--preset--color--neutral-100);
    --okd-block-theme-bg-neutral-10: var(--okd--preset--color--neutral-10);
    --okd-block-theme-heading-on-dark: var(--okd--preset--color--neutral-05);
    --okd-block-theme-body-muted-on-dark: var(--okd--preset--color--neutral-30);
    --okd-block-theme-heading-on-light: var(--okd--preset--color--neutral-90);
    --okd-block-theme-body-on-light: var(--okd--preset--color--neutral-70);
    --okd-block-theme-line-on-dark: var(--okd--preset--color--neutral-50)
}

@media (min-width:1025px) {
    :root {
        --okd-header-inline-height: 90px
    }
}

@media (min-width:1025px) {
    :root {
        --okd-block-padding-inline: var(--okd--preset--spacing--48);
        --okd-line-gutter: var(--okd--preset--spacing--24)
    }
}

body:not(.okd-frontend) {
    --okd-header-inline-height: 0px !important
}

section.hero-fs {
    --hero-fs-band-inset: 20%;
    --hero-fs-line: var(--okd-block-theme-line-on-dark);
    --hero-fs-upper: var(--okd--preset--color--neutral-05);
    --hero-fs-heading: var(--okd-block-theme-heading-on-dark);
    --hero-fs-body: var(--okd--preset--color--neutral-10);
    --hero-fs-placeholder: var(--okd--preset--color--neutral-40);
    display: flex;
    flex-direction: column;
    margin-top: 0;
    min-height: 100svh;
    overflow: hidden;
    padding-top: var(--okd-header-inline-height)
}

section.hero-fs.is-preview {
    min-height: auto
}

section.hero-fs.is-preview .hero-fs__shell {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 480px
}

section.hero-fs.is-preview .hero-fs__preband {
    flex: 0 0 auto;
    min-height: 4rem;
    padding-top: var(--okd--preset--spacing--24)
}

section.hero-fs.is-preview .hero-fs__line {
    flex-shrink: 0
}

section.hero-fs.is-preview .hero-fs__band {
    flex: 1 1 auto;
    min-height: 360px
}

section.hero-fs.is-preview .hero-fs__postband {
    flex: 0 0 auto;
    min-height: 4rem
}

section.hero-fs.-theme-neutral-110 {
    --block-background-color: var(--okd-block-theme-bg-neutral-110)
}

section.hero-fs.-theme-neutral-100 {
    --block-background-color: var(--okd-block-theme-bg-neutral-100)
}

section.hero-fs.-theme-neutral-10 {
    --block-background-color: var(--okd-block-theme-bg-neutral-10);
    --hero-fs-line: var(--okd--preset--color--neutral-40);
    --hero-fs-upper: var(--okd-block-theme-body-on-light);
    --hero-fs-heading: var(--okd-block-theme-heading-on-light);
    --hero-fs-body: var(--okd-block-theme-body-on-light);
    --hero-fs-placeholder: var(--okd--preset--color--neutral-60)
}

section.hero-fs.-theme-neutral-10 .hero-fs__media-label {
    --tag-text-color: var(--okd--preset--color--neutral-05)
}

section.hero-fs.hero-fs--no-upper .hero-fs__cell--upper {
    display: none
}

section.hero-fs.hero-fs--no-upper .hero-fs__main {
    --lg: 1/-1;
    --xl: 1/-1
}

section.hero-fs .okd-block-container-lines {
    --line-color: var(--hero-fs-line);
    z-index: 3
}

section.hero-fs .hero-fs__bg {
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    z-index: 0
}

section.hero-fs .hero-fs__bg .okd-c-media,
section.hero-fs .hero-fs__bg .hero-fs__media-el,
section.hero-fs .hero-fs__bg .hero-fs__placeholder,
section.hero-fs .hero-fs__bg picture {
    display: block;
    height: 100%;
    width: 100%
}

section.hero-fs .hero-fs__bg .hero-fs__placeholder {
    color: var(--hero-fs-placeholder)
}

section.hero-fs .hero-fs__preband {
    align-self: stretch;
    min-height: 0;
    padding-left: var(--okd--preset--spacing--24);
    padding-top: var(--okd--preset--spacing--24);
    z-index: 2
}

section.hero-fs .hero-fs__media-label {
    --tag-background-color: rgba(0, 0, 0, 0.45);
    --tag-border-color: var(--okd-block-border-line-color);
    --tag-text-color: var(--okd--preset--color--neutral-50)
}

section.hero-fs .hero-fs__media-label {
    --tag-background-color: rgba(0, 0, 0, 0.45);
    --tag-border-color: var(--okd-block-border-line-color);
    --tag-text-color: var(--okd--preset--color--neutral-50)
}

section.hero-fs .hero-fs__shell {
    --hero-fs-line-dot-opacity: 0;
    --hero-fs-line-dot-scale: 0;
    display: grid;
    flex: 1 1 auto;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: var(--hero-fs-band-inset) var(--okd-line-width) minmax(0, 1fr) var(--okd-line-width) var(--hero-fs-band-inset);
    height: calc(100svh - var(--okd-header-inline-height));
    margin-inline: auto;
    max-width: var(--okd-block-max-width);
    min-height: 0;
    padding-inline: var(--okd-line-gutter);
    width: 100%;
    z-index: 1
}

section.hero-fs .hero-fs__shell.is-hero-fs-lines-entered {
    --hero-fs-line-dot-opacity: 1;
    --hero-fs-line-dot-scale: 1
}

section.hero-fs .hero-fs__line {
    align-self: stretch;
    pointer-events: none;
    position: relative;
    z-index: 2
}

section.hero-fs .hero-fs__line--h {
    height: var(--okd-line-width);
    width: 100%
}

section.hero-fs .hero-fs__line--h::before,
section.hero-fs .hero-fs__line--h::after {
    --circle-background-color: var(--okd-line-color);
    --circle-size: 8px;
    background-color: var(--circle-background-color);
    -webkit-clip-path: circle(50%);
    clip-path: circle(50%);
    display: block;
    height: var(--circle-size);
    pointer-events: none;
    position: absolute;
    width: var(--circle-size);
    z-index: 10;
    --circle-background-color: var(--hero-fs-line);
    content: "";
    opacity: var(--hero-fs-line-dot-opacity);
    top: 50%;
    transform: translate3d(-50%, -50%, 0) scale(var(--hero-fs-line-dot-scale));
    transition: opacity 0.42s ease, transform 0.8s ease;
    transition-delay: 1.08s
}

section.hero-fs .hero-fs__line--h::before {
    left: 0
}

section.hero-fs .hero-fs__line--h::after {
    left: auto;
    right: 0;
    transform: translate3d(50%, -50%, 0) scale(var(--hero-fs-line-dot-scale))
}

section.hero-fs .hero-fs__line-bar {
    background-color: var(--hero-fs-line);
    display: block;
    height: 100%;
    opacity: .9;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.8s ease;
    will-change: transform;
    z-index: 0
}

section.hero-fs .hero-fs__line--top .hero-fs__line-bar {
    transition-delay: 0.12s
}

section.hero-fs .hero-fs__line--bottom .hero-fs__line-bar {
    transition-delay: 0.58s
}

section.hero-fs .hero-fs__shell.is-hero-fs-lines-entered .hero-fs__line-bar {
    transform: scaleX(1)
}

section.hero-fs .hero-fs__band {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    position: relative;
    z-index: 2
}

section.hero-fs .hero-fs__postband {
    align-self: stretch;
    min-height: 0;
    z-index: 2
}

section.hero-fs .hero-fs__band-inner {
    align-items: stretch;
    height: 100%;
    min-height: 0;
    padding: var(--okd--preset--spacing--24);
    width: 100%;
    --gap: var(--okd--preset--spacing--24);
    --gap-col: 0
}

section.hero-fs .hero-fs__cell--upper {
    align-self: start;
    color: var(--hero-fs-upper);
    font-size: 16px;
    letter-spacing: .02em;
    line-height: 1.4;
    min-width: 0
}

section.hero-fs .hero-fs__main {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 0;
    min-width: 0;
    row-gap: var(--okd--preset--spacing--24)
}

section.hero-fs .hero-fs__cell--title {
    flex-shrink: 0;
    min-width: 0
}

section.hero-fs .hero-fs__cell--body {
    flex-shrink: 0;
    min-width: 0
}

section.hero-fs .hero-fs__title {
    color: var(--hero-fs-heading);
    font-size: var(--okd--preset--font-size--h-3);
    font-weight: 400;
    letter-spacing: -.01em;
    line-height: 1.05;
    margin: 0;
    text-wrap: balance
}

section.hero-fs .hero-fs__body {
    color: var(--hero-fs-body);
    font-size: 16px;
    letter-spacing: .01em;
    line-height: 1.5;
    margin: 0;
    text-wrap: balance
}

@media (max-width:1024px) {
    section.hero-fs {
        --hero-fs-band-inset: 0%
    }
    section.hero-fs .hero-fs__media-label {
        display: none
    }
    section.hero-fs .hero-fs__preband {
        display: none
    }
    section.hero-fs .hero-fs__postband {
        display: none
    }
    section.hero-fs .hero-fs__line--top {
        display: none
    }
    section.hero-fs .hero-fs__shell {
        display: flex;
        flex-direction: column;
        grid-template-rows: none;
        min-height: calc(100svh - var(--okd-header-inline-height))
    }
    section.hero-fs .hero-fs__band {
        flex: 1 1 auto
    }
    section.hero-fs .hero-fs__band-inner {
        column-gap: 0;
        display: flex;
        flex-direction: column;
        grid-template-columns: none;
        justify-content: flex-start;
        min-height: 100%;
        padding-block: var(--okd--preset--spacing--24)
    }
    section.hero-fs .hero-fs__cell--upper {
        align-self: flex-start
    }
    section.hero-fs .hero-fs__main {
        border-left-width: 0;
        display: contents;
        padding-left: 0
    }
    section.hero-fs .hero-fs__cell--body {
        margin-top: auto;
        padding-top: var(--okd--preset--spacing--24)
    }
    section.hero-fs .hero-fs__title {
        max-width: none
    }
}

@media (prefers-reduced-motion:reduce) {
    section.hero-fs .hero-fs__shell {
        --hero-fs-line-dot-opacity: 1;
        --hero-fs-line-dot-scale: 1;
        transition: none
    }
    section.hero-fs .hero-fs__line--h::before,
    section.hero-fs .hero-fs__line--h::after {
        transition-duration: 0.01ms;
        transition-delay: 0s
    }
    section.hero-fs .hero-fs__line-bar {
        transform: scaleX(1);
        transition-duration: 0.01ms;
        transition-delay: 0s
    }
}