.hero {
    flex: 0 0 100svh;
    height: 100svh;
    min-height: 100svh;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    gap: 0;
    padding: max(20px, env(safe-area-inset-top)) var(--mobile-side-padding) max(20px, env(safe-area-inset-bottom));
    background-image: url('assets/web2.svg'), linear-gradient(rgba(0, 0, 0, 0.42), rgba(0, 0, 0, 0.42)), url('assets/bkg.png');
    background-repeat: no-repeat;
    background-size: 100% 100%, 100% 100%, auto var(--hero-bkg-height);
    background-position: center center, center center, calc(50% + var(--hero-bkg-offset-x)) calc(50% + var(--hero-bkg-offset-y));
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.text {
    display: contents;
}

.text h1 {
    order: 1;
    width: 100%;
    font-size: clamp(40px, 10vw, 58px);
    text-align: center;
}

.text p {
    order: 2;
    max-width: min(680px, calc(100vw - (var(--mobile-side-padding) * 2)));
    font-size: 15px;
    padding: 14px 16px;
    border-radius: 18px;
    line-height: 1.3;
    text-align: center;
}

.photo {
    order: 3;
    width: 100%;
    height: 50dvh;
    padding-top: 0;
    padding-bottom: 0;
    justify-content: center;
}

.photo img {
    width: auto;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
}
