:root{--primary-red:#DC143C;--deep-red:#B22222;--black:#000000;--dark-grey:#1A1A1A;--medium-grey:#333333;--light-grey:#666666;--white:#FFFFFF;--shadow:0 4px 6px rgba(0,0,0,0.1);--shadow-lg:0 10px 25px rgba(0,0,0,0.2);--shadow-red:0 4px 15px rgba(220,20,60,0.3)}

/* Font loading optimization */
@font-face{font-family:'Inter';font-display:swap;src:local('Inter')}
@font-face{font-family:'Playfair Display';font-display:swap;src:local('Playfair Display')}

body{font-family:'Inter',sans-serif;color:var(--black);line-height:1.6;background-color:var(--white);margin:0}
h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif;font-weight:700}

/* Navigation */
.navbar{background-color:var(--black)!important;transition:all 0.3s ease;padding:1rem 0;box-shadow:var(--shadow-lg);contain:layout style}
.navbar-brand{font-family:'Playfair Display',serif}
.brand-text{font-size:1.5rem;font-weight:700;color:var(--white)}
.brand-logo{height:5rem;width:auto}
.nav-link{font-weight:500;color:var(--white)!important;transition:color 0.3s ease;margin:0 0.5rem;position:relative}
.nav-link:hover,.nav-link.active{color:var(--primary-red)!important}
.nav-link::after{content:'';position:absolute;width:0;height:2px;bottom:-5px;left:50%;background-color:var(--primary-red);transition:all 0.3s ease;transform:translateX(-50%)}
.nav-link:hover::after,.nav-link.active::after{width:100%}
.working-hours{font-size:0.9rem;padding:0.5rem 1rem;border-left:1px solid rgba(255,255,255,0.1)}

/* Hero Section */
.hero-section{margin-top:80px;contain:layout}
.hero-slide{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden}
.hero-title{font-size:3.5rem;font-weight:900;color:var(--white);margin-bottom:1.5rem;line-height:1.2;text-shadow:2px 2px 4px rgba(0,0,0,0.5)}
.hero-subtitle{font-size:1.25rem;color:var(--white);margin-bottom:2rem;text-shadow:1px 1px 2px rgba(0,0,0,0.5)}

/* Buttons */
.custom-btn{background-color:var(--primary-red);border-color:var(--primary-red);font-weight:600;padding:0.75rem 1.5rem;border-radius:50px;transition:all 0.3s ease;text-transform:uppercase;letter-spacing:0.5px}
.custom-btn:hover{background-color:var(--deep-red);border-color:var(--deep-red);transform:translateY(-2px);box-shadow:var(--shadow-red)}

/* Carousel */
.carousel-inner,.carousel-item{min-height:100vh}
.carousel-control-prev,.carousel-control-next{width:5%;opacity:0.8}
.carousel-indicators{padding-bottom:6rem}
.carousel-indicators button{width:12px;height:12px;border-radius:50%;background-color:var(--white);opacity:0.7;margin:0 5px}
.carousel-indicators button.active{background-color:var(--primary-red);opacity:1}

/* Sections */
.section-title{font-size:2.5rem;color:var(--black);margin-bottom:1rem;text-align:center;font-weight:900}
.section-subtitle{font-size:1.1rem;color:var(--light-grey);text-align:center;max-width:600px;margin:0 auto 3rem}
.title-separator{width:80px;height:3px;background:linear-gradient(90deg,var(--primary-red),var(--deep-red));margin:0 auto}

/* About Section */
.about-content .lead{font-size:1.2rem;color:var(--medium-grey);font-weight:400}
.about-image img{border:5px solid var(--primary-red);transition:transform 0.3s ease;aspect-ratio:1/1}
.about-image img:hover{transform:scale(1.05)}

/* Product Cards */
.product-card{background:var(--white);border-radius:15px;overflow:hidden;box-shadow:var(--shadow);transition:all 0.3s ease;border:1px solid rgba(0,0,0,0.05);height:100%}
.product-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}
.product-image{width:100%;height:250px;object-fit:cover;transition:transform 0.3s ease;aspect-ratio:300/250}
.product-card:hover .product-image{transform:scale(1.1)}
.product-content{padding:1.5rem}
.product-content h4{color:var(--black);margin-bottom:1rem;font-weight:600}
.product-content p{color:var(--light-grey);font-size:0.95rem;line-height:1.6;margin-bottom:0}

/* Value Cards */
.value-card{padding:2rem 1rem;transition:all 0.3s ease}
.value-card:hover{transform:translateY(-5px)}
.value-icon{font-size:2.5rem;margin-bottom:1rem}
.value-card h4{font-weight:600;margin-bottom:1rem}
.value-card p{color:rgba(255,255,255,0.8);font-size:0.95rem;line-height:1.6}

/* Gallery Carousel */
.carousel-container{height:60vh;overflow:hidden;position:relative;background:linear-gradient(rgba(255,255,255,0) 0%,rgba(255,255,255,1) 20%,rgba(255,255,255,1) 80%,rgba(255,255,255,0) 100%);contain:layout style paint}
.mosaic-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:0.5rem;transition:transform 0.1s linear;will-change:transform;transform:translateZ(0)}
.grid-item{position:relative;overflow:hidden;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,0.1);contain:layout style}
.grid-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease;will-change:transform}
.grid-item:hover img{transform:scale(1.05)}

/* Footer */
.footer-brand .brand-text{font-size:1.5rem;font-weight:700}
.social-links a{transition:all 0.3s ease;display:inline-block}
.social-links a:hover{color:var(--primary-red)!important;transform:translateY(-2px)}

/* Utilities */
.bg-danger{background-color:var(--primary-red)!important}
.text-danger{color:var(--primary-red)!important}
.bg-dark{background-color:var(--black)!important}
.bg-light{background-color:#f8f9fa!important}
.bg-white{background-color:var(--white)!important}

/* Responsive */
@media (max-width:768px){
.hero-title{font-size:2.5rem}
.hero-subtitle{font-size:1.1rem}
.section-title{font-size:2rem}
.product-card{margin-bottom:2rem}
.navbar-brand{flex-direction:column;align-items:flex-start!important}
.working-hours{border-left:none;padding:1rem 0;text-align:center}
.mosaic-gallery{grid-template-columns:repeat(2,1fr);gap:0.75rem}
}

@media (max-width:576px){
.hero-title{font-size:2rem}
.hero-subtitle{font-size:1rem}
.section-title{font-size:1.75rem}
.value-icon{font-size:2rem}
.mosaic-gallery{grid-template-columns:1fr;gap:1rem}
}

/* Scrollbar */
html{scroll-behavior:smooth}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:#f5f5dc}
::-webkit-scrollbar-thumb{background:var(--primary-red);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--deep-red)}

/* Performance optimizations */
img{max-width:100%;height:auto}
.navbar-toggler{border-color:var(--primary-red)}
.navbar-toggler:focus{box-shadow:0 0 0 0.2rem rgba(220,20,60,0.25)} 