* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    background-color: #131210;
}

body {
    position: relative;
    width: 100%;
    max-width: 100vw;
    height: 100%;
    max-height: 100vh;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Shared: full-viewport background */
.bg-image {
    display: block;
    width: 100%;
    height: auto;
}

/* Foreground hero: stacked on top, same sizing */
.hero-image {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: auto;
    z-index: 1;
}

/* Visibility helpers — must come last to override display rules above */
.mobile-only  { display: block; }
.desktop-only { display: none; }

@media (min-width: 769px) {
    .mobile-only  { display: none; }
    .desktop-only { display: block; }
}
