:root {
    color-scheme: dark;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
.m5-temp-body { overflow-x: clip; background: var(--m5-temp-fallback, #000); color: #fff; }
.m5-temp-body a { color: inherit; text-underline-offset: .2em; }
.m5-temp-body a:focus-visible,
.m5-temp-body button:focus-visible,
.m5-temp-body input:focus-visible,
.m5-temp-body textarea:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

.m5-temp-shell { min-height: 100vh; min-height: 100svh; display: grid; grid-template-rows: auto 1fr auto; }
.m5-temp-header,
.m5-temp-footer { position: relative; z-index: 3; background: rgb(0 0 0 / .78); backdrop-filter: blur(12px); }
.m5-temp-header__inner { width: min(100% - 2rem, 1200px); min-height: 72px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .75rem; }
.m5-temp-brand { display: inline-flex; align-items: center; min-width: 0; font-weight: 800; text-decoration: none; }
.m5-temp-header__logo { display: block; width: auto; max-width: min(260px, 50vw); max-height: 56px; height: auto; object-fit: contain; }
.m5-temp-header__contact { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem 1rem; }
.m5-temp-header__contact a { min-height: 44px; display: inline-flex; align-items: center; }
.m5-temp-footer { padding: 1rem max(1.25rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left)); text-align: center; }
.m5-temp-footer p { margin: 0; }

.m5-temp {
    position: relative;
    isolation: isolate;
    display: grid;
    place-items: center;
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
    padding: max(2rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(2rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));
    background-color: var(--m5-temp-fallback, #000);
    background-image: var(--m5-temp-desktop-image);
    background-position: var(--m5-temp-desktop-position, 50% 50%);
    background-repeat: no-repeat;
    background-size: var(--m5-temp-fit, cover);
}
.m5-temp-shell > .m5-temp { min-height: 0; }

.m5-temp__overlay { position: absolute; inset: 0; z-index: -1; background: rgb(0 0 0 / var(--m5-temp-overlay, .45)); }
.m5-temp__content { width: min(100%, 760px); text-align: center; text-wrap: balance; container-type: inline-size; }
.m5-temp--left .m5-temp__content { margin-inline-end: auto; text-align: left; }
.m5-temp--right .m5-temp__content { margin-inline-start: auto; text-align: right; }
.m5-temp__logo { display: block; width: auto; max-width: min(320px, 70vw); max-height: 120px; height: auto; object-fit: contain; margin: 0 auto 1.5rem; }
.m5-temp--left .m5-temp__logo { margin-inline-start: 0; }
.m5-temp--right .m5-temp__logo { margin-inline-end: 0; }
.m5-temp h1 { margin: 0; font-size: clamp(2rem, 7vw, 5.5rem); line-height: .98; overflow-wrap: anywhere; }
.m5-temp__subtitle { font-size: clamp(1.1rem, 2vw, 1.5rem); }
.m5-temp__text { max-width: 65ch; margin-inline: auto; font-size: clamp(1rem, 1.4vw, 1.2rem); overflow-wrap: anywhere; }
.m5-temp--left .m5-temp__text { margin-inline-start: 0; }
.m5-temp--right .m5-temp__text { margin-inline-end: 0; }
.m5-temp__actions { margin: 1.5rem 0 0; }
.m5-temp__cta { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .75rem 1.25rem; border: 2px solid #fff; border-radius: .5rem; background: #c00000; color: #fff; font-weight: 800; text-decoration: none; }
.m5-temp__cta:hover { background: #8f0000; }
.m5-temp__contact,
.m5-temp__social { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1rem; margin-top: 1.5rem; font-style: normal; }
.m5-temp--left .m5-temp__contact,
.m5-temp--left .m5-temp__social { justify-content: flex-start; }
.m5-temp--right .m5-temp__contact,
.m5-temp--right .m5-temp__social { justify-content: flex-end; }
.m5-temp__contact a,
.m5-temp__social a { min-height: 44px; display: inline-flex; align-items: center; }
.m5-temp__form { margin-top: 2rem; padding: clamp(1rem, 3vw, 2rem); border: 1px solid rgb(255 255 255 / .24); border-radius: .75rem; background: rgb(0 0 0 / .62); text-align: left; backdrop-filter: blur(12px); }

@container (max-width: 30rem) {
    .m5-temp__contact,
    .m5-temp__social { display: grid; justify-items: center; }
}

@media (min-width: 48.001rem) and (max-width: 75rem) {
    .m5-temp {
        background-image: var(--m5-temp-tablet-image, var(--m5-temp-desktop-image));
        background-position: var(--m5-temp-tablet-position, var(--m5-temp-desktop-position, 50% 50%));
    }
}

@media (max-width: 48rem) {
    .m5-temp {
        background-image: var(--m5-temp-mobile-image, var(--m5-temp-desktop-image));
        background-position: var(--m5-temp-mobile-position, 50% 50%);
    }
    .m5-temp-header__inner { align-items: flex-start; flex-direction: column; }
    .m5-temp-header__contact { justify-content: flex-start; }
}

@media (min-aspect-ratio: 2/1) and (min-width: 120rem) {
    .m5-temp {
        background-image: var(--m5-temp-ultrawide-image, var(--m5-temp-desktop-image));
        background-position: var(--m5-temp-ultrawide-position, var(--m5-temp-desktop-position, 50% 50%));
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
