/* Critical layout - allows LCP to render while CSS loads */
body{font-family:"Open Sans",sans-serif;margin:0;line-height:1.6;color:#212121}
.fixed{position:fixed}.top-0{top:0}.left-0{left:0}.right-0{right:0}.z-50{z-index:50}
.bg-white{background-color:#fff}.bg-opacity-90{background-color:rgba(255,255,255,.9)}
header{height:96px}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1rem}
.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}
.hidden{display:none}.relative{position:relative}.absolute{position:absolute}.inset-0{inset:0}
.w-full{width:100%}.h-full{height:100%}
.overflow-hidden{overflow:hidden}.object-cover{object-fit:cover}
/* CRITICAL: Fixed heights to prevent CLS */
.h-screen{height:100vh}.min-h-screen{min-height:100vh}
.banner{min-height:100vh}
.banner__each{min-height:100vh}
section.min-h-screen{min-height:100vh}
.pt-\[96px\]{padding-top:96px}
/* Hero text - LCP element */
.text-white{color:#fff}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.font-bold{font-weight:700}
.leading-tight{line-height:1.25}
.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}
.max-w-4xl{max-width:56rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
/* Blur-up placeholder - full image fades in ON TOP using animation */
.blur-up-container{position:relative;overflow:hidden;width:100%;height:100%}
.blur-up-placeholder{width:100%;height:100%;object-fit:cover;filter:blur(20px);transform:scale(1.1)}
.blur-up-full{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0}
.blur-up-container.loaded .blur-up-full{animation:fadeIn 1.2s ease-in-out forwards}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
/* Slick slider - let slick handle fade, just ensure proper height */
.banner-slider .slick-list,.banner-slider .slick-track{height:100%}
.banner-slider .slick-slide{height:100%}
/* Deferred images (slides 2, 3, etc.) */
.deferred-blur-image{width:100%;height:100%;object-fit:cover;filter:blur(20px);transform:scale(1.1);transition:filter 1s ease-out,transform 1s ease-out,opacity 1s ease-out;opacity:1!important}
.blur-up-container.loaded .deferred-blur-image{filter:blur(0);transform:scale(1)}
/* Gradient overlay */
.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}
.from-\[\#1A1F2C33\]{--tw-gradient-from:rgba(26,31,44,.2);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-\[\#1A1F2C66\]{--tw-gradient-to:rgba(26,31,44,.4)}
.z-20{z-index:20}
/* Responsive */
@media(min-width:768px){.md\:text-5xl{font-size:3rem;line-height:1}}
@media(min-width:1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:text-6xl{font-size:3.75rem;line-height:1}}
@media(min-width:1280px){.xl\:text-7xl{font-size:4.5rem;line-height:1}}
/* Navigation */
.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.h-20{height:5rem}.h-\[96px\]{height:96px}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-4{padding:0 1rem}
/* Screen reader only - for SEO descriptive link text */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
