*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Segoe UI',sans-serif;
scroll-behavior:smooth;
}

body{
background:#fffdf8;
color:#333;
line-height:1.7;
overflow-x:hidden;
}

/* HEADER */

header{
position:fixed;
top:0;
left:0;
width:100%;
display:flex;
justify-content:space-between;
align-items:center;
padding:18px 8%;
background:rgba(102,17,17,.95);
backdrop-filter:blur(10px);
z-index:1000;
box-shadow:0 2px 20px rgba(0,0,0,.15);
}

.logo{
font-size:28px;
font-weight:700;
color:#ffcc70;
}

nav{
display:flex;
gap:30px;
}

nav a{
text-decoration:none;
color:#fff;
font-size:16px;
font-weight:500;
position:relative;
transition:.4s;
}

nav a:hover{
color:#ffcc70;
}

nav a::after{
content:'';
position:absolute;
left:0;
bottom:-6px;
width:0;
height:2px;
background:#ffcc70;
transition:.4s;
}

nav a:hover::after{
width:100%;
}

.menu-toggle{
display:none;
font-size:28px;
color:#fff;
cursor:pointer;
}

/* HERO */

.hero{
height:100vh;
background:url('/assets/images/hero.jpg') center/cover no-repeat;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
position:relative;
padding:20px;
}

.hero-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.60);
}

.hero-content{
position:relative;
z-index:2;
max-width:850px;
animation:fadeUp 1.2s ease;
}

.hero-content h1{
font-size:64px;
color:#fff;
margin-bottom:20px;
line-height:1.2;
}

.hero-content p{
font-size:20px;
color:#f1f1f1;
margin-bottom:35px;
}

.hero-btn{
display:inline-block;
padding:15px 35px;
background:#ffcc70;
color:#661111;
text-decoration:none;
font-weight:700;
border-radius:50px;
transition:.4s;
}

.hero-btn:hover{
transform:translateY(-5px);
background:#fff;
}

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(50px);
}
to{
opacity:1;
transform:translateY(0);
}
}
.section-title{
text-align:center;
margin-bottom:60px;
}

.section-title h2{
font-size:42px;
color:#661111;
margin-bottom:15px;
}

.section-title p{
color:#666;
font-size:18px;
}

.about{
padding:100px 8%;
background:#fff;
}

.container{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:50px;
align-items:center;
}

.about-image img{
width:100%;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,.15);
transition:.5s;
}

.about-image img:hover{
transform:scale(1.03);
}

.about-content h2{
font-size:40px;
color:#661111;
margin-bottom:20px;
}

.about-content p{
margin-bottom:15px;
color:#555;
}

.special{
padding:100px 8%;
background:#fff8ee;
}

.special-container{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
}

.special-card{
background:#fff;
padding:35px 25px;
text-align:center;
border-radius:20px;
box-shadow:0 5px 20px rgba(0,0,0,.08);
transition:.5s;
}

.special-card:hover{
transform:translateY(-10px);
background:#661111;
}

.special-card i{
font-size:50px;
color:#ffcc70;
margin-bottom:20px;
}

.special-card h3{
margin-bottom:15px;
color:#661111;
}

.special-card p{
color:#666;
}

.special-card:hover h3,
.special-card:hover p{
color:#fff;
}
.gallery{
padding:100px 8%;
background:#fff;
}

.gallery-container{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
}

.gallery-item{
overflow:hidden;
border-radius:20px;
box-shadow:0 8px 20px rgba(0,0,0,.12);
}

.gallery-item img{
width:100%;
height:260px;
object-fit:cover;
transition:.6s;
}

.gallery-item:hover img{
transform:scale(1.1);
}

.contact{
padding:100px 8%;
background:#fff8ee;
}

.contact-container{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:center;
}

.contact-info{
display:flex;
flex-direction:column;
gap:25px;
}

.contact-box{
display:flex;
gap:20px;
padding:25px;
background:#fff;
border-radius:15px;
box-shadow:0 5px 15px rgba(0,0,0,.08);
transition:.4s;
}

.contact-box:hover{
transform:translateY(-5px);
}

.contact-box i{
font-size:28px;
color:#ffcc70;
}

.contact-box h3{
color:#661111;
margin-bottom:8px;
}

.phone-link{
text-decoration:none;
color:#333;
font-weight:500;
transition:.3s;
}

.phone-link:hover{
color:#661111;
}

.contact-map iframe{
width:100%;
height:450px;
border:none;
border-radius:20px;
}

footer{
background:#661111;
padding:25px 0;
text-align:center;
}

.footer-bottom p{
color:#fff;
margin:8px 0;
}

.footer-bottom a{
color:#ffcc70;
text-decoration:none;
font-weight:600;
}

.footer-bottom a:hover{
color:#fff;
}

/* TABLET */

@media(max-width:991px){

.container,
.contact-container{
grid-template-columns:1fr;
}

.special-container{
grid-template-columns:repeat(2,1fr);
}

.gallery-container{
grid-template-columns:repeat(2,1fr);
}

.hero-content h1{
font-size:46px;
}

.hero-content p{
font-size:18px;
}

.about-content{
text-align:center;
}

nav{
position:absolute;
top:100%;
left:0;
width:100%;
background:#661111;
flex-direction:column;
text-align:center;
padding:20px 0;
display:none;
box-shadow:0 10px 20px rgba(0,0,0,.15);
}

nav.active{
display:flex;
}

nav a{
padding:12px 0;
}

.menu-toggle{
display:block;
cursor:pointer;
}

.contact-map iframe{
height:350px;
}

}

/* MOBILE */

@media(max-width:768px){

header{
padding:15px 5%;
}

.logo{
font-size:22px;
}

.hero-content h1{
font-size:34px;
}

.hero-content p{
font-size:16px;
}

.hero-btn{
padding:12px 28px;
font-size:16px;
}

.about,
.special,
.gallery,
.contact{
padding:80px 5%;
}

.special-container,
.gallery-container{
grid-template-columns:1fr;
}

.section-title h2{
font-size:32px;
}

.section-title p{
font-size:16px;
}

.contact-box{
padding:20px;
}

}

/* SMALL MOBILE */

@media(max-width:480px){

.hero-content h1{
font-size:28px;
line-height:1.3;
}

.hero-content p{
font-size:15px;
}

.section-title h2{
font-size:28px;
}

.about-content h2{
font-size:28px;
}

.special-card h3{
font-size:20px;
}

.contact-map iframe{
height:300px;
}

}

