/* Critical CSS for above-the-fold content */

/* Reset and base styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', sans-serif;
    overflow-x: hidden !important;
    max-width: 100vw !important;
    width: 100% !important;
}

/* Header styles */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: linear-gradient(to right, #1e1723, #3a2f45);
    color: white;
    padding: 0.5rem 0;
}

/* Welcome section */
#beranda {
    position: relative;
    padding-top: 5rem;
}

.welcome-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to bottom, rgba(30,23,35,0.7), rgba(30,23,35,0.7));
}

/* Responsive text */
.text-lg { font-size: 1.125rem; }
.text-2xl { font-size: 1.5rem; }
.text-3xl { font-size: 1.875rem; }
.text-4xl { font-size: 2.25rem; }

/* Utilities */
.text-white { color: white; }
.font-bold { font-weight: 700; }
.text-center { text-align: center; }
.relative { position: relative; }
.absolute { position: absolute; }
.inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
.w-full { width: 100%; }
.h-full { height: 100%; }
.object-cover { object-fit: cover; }
.overflow-hidden { overflow: hidden; }
.flex { display: flex; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }

/* Responsive breakpoints */
@media (min-width: 640px) {
    .sm\:text-2xl { font-size: 1.5rem; }
    .sm\:h-\[400px\] { height: 400px; }
}

@media (min-width: 768px) {
    .md\:text-3xl { font-size: 1.875rem; }
    .md\:h-\[500px\] { height: 500px; }
}

@media (min-width: 1024px) {
    .lg\:text-4xl { font-size: 2.25rem; }
}

/* Height utilities */
.h-\[300px\] { height: 300px; }

/* Padding utilities */
.pt-20 { padding-top: 5rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-8 { padding-left: 2rem; padding-right: 2rem; }

/* Leading */
.leading-tight { line-height: 1.25; }