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


img{
 max-width:100%;
 height:auto;
 display:block;
}

picture{
 display:block;
}


img[src=""],
img:not([src]),
img[src*="undefined"]{
 opacity:0;
 visibility:hidden;
}

html{
 scroll-behavior:smooth;
 overflow-x:hidden;
}

body{
 overflow-x:hidden;
 font-family:'Poppins', sans-serif;
 line-height:1.6;
 color:#4B0C0C;
 background-color:#FFFFFF;
 overflow-x:hidden;
 transition:all 0.3s ease;
}


[data-theme="dark"] body{
 color:#F5F1EC;
 background-color:#4B0C0C;
}


:root{
 --primary-color:#4B0C0C;
 --secondary-color:#D4AF37;
 --bg-color:#FFFFFF;
 --section-bg:#F8F8F8;
 --card-bg:#FFFFFF;
 --text-primary:#4B0C0C;
 --text-secondary:#666666;
 --text-light:#4B0C0C;
 --shadow:0 2px 15px rgba(0, 0, 0, 0.1);
 --shadow-hover:0 5px 25px rgba(0, 0, 0, 0.15);
 --border-radius:8px;
 --transition:all 0.3s ease;
}


[data-theme="dark"]{
 --primary-color:#4B0C0C;
 --secondary-color:#D4AF37;
 --bg-color:#4B0C0C;
 --section-bg:#5A1010;
 --card-bg:#4B0C0C;
 --text-primary:#F5F1EC;
 --text-secondary:#F5F1EC;
 --text-light:#F5F1EC;
 --shadow:0 2px 15px rgba(75, 12, 12, 0.15);
 --shadow-hover:0 5px 25px rgba(75, 12, 12, 0.25);
}


.container{
 max-width:1200px;
 margin:0 auto;
 padding:0 20px;
}


h1, h2, h3, h4, h5, h6{
 font-weight:600;
 color:var(--secondary-color);
 margin-bottom:1rem;
}

h1{
 font-size:2.5rem;
 font-weight:700;
}

h2{
 font-size:2rem;
}

h3{
 font-size:1.5rem;
}

p{
 margin-bottom:1rem;
 color:var(--text-secondary);
}


.btn{
 display:inline-flex;
 align-items:center;
 gap:0.5rem;
 padding:12px 24px;
 border:none;
 border-radius:8px;
 text-decoration:none;
 font-weight:500;
 font-size:1rem;
 cursor:pointer;
 transition:all 0.3s ease;
 text-align:center;
 justify-content:center;
}

.btn-primary{
 background-color:#D4AF37;
 color:#4B0C0C;
}

.btn-primary:hover{
 background-color:#B8941F;
 transform:translateY(-2px);
 box-shadow:0 0 15px #D4AF37, 0 5px 25px rgba(75, 12, 12, 0.25);
 transition:all 0.3s ease;
}

.btn-secondary{
 background-color:transparent;
 color:#D4AF37;
 border:2px solid #D4AF37;
}

.btn-secondary:hover{
 background-color:#D4AF37;
 color:#4B0C0C;
 transform:translateY(-2px);
 box-shadow:0 0 15px #D4AF37;
 transition:all 0.3s ease;
}

.btn-large{
 padding:16px 32px;
 font-size:1.1rem;
}


.header{
 position:fixed;
 top:0;
 left:0;
 right:0;
 background-color:var(--primary-color);
 z-index:9999;
 box-shadow:var(--shadow);
 transition:var(--transition);
 opacity:1;
 visibility:visible;
 display:block;
}

.header-scrolled{
 background-color:rgba(75, 12, 12, 0.95);
 backdrop-filter:blur(10px);
}

.nav{
 padding:0.5rem 0;
}

@media (max-width:768px){
 .nav{
 padding:0.3rem 0;
 }
}

.nav-container{
 max-width:1200px;
 margin:0 auto;
 padding:0 20px;
 display:grid;
 grid-template-columns:1fr auto 1fr;
 align-items:center;
 gap:2rem;
}

.logo-link{
 display:block;
 text-decoration:none;
 transition:all 0.3s ease;
}

.logo-link:hover{
 transform:scale(1.05);
}

.logo-image{
 height:120px;
 width:auto;
 max-width:480px;
 object-fit:contain;
 display:block;
 transition:all 0.3s ease;
}


[data-theme="dark"] .logo-image{
 filter:none;
}

.nav-menu{
 display:flex;
 align-items:center;
 justify-content:flex-end;
 gap:2rem;
}

.nav-center{
 display:flex;
 justify-content:center;
 align-items:center;
}

.nav-list{
 display:flex;
 list-style:none;
 gap:2rem;
 margin:0;
 justify-content:center;
}

.nav-link{
 text-decoration:none;
 color:#F5F1EC;
 font-weight:500;
 transition:var(--transition);
 position:relative;
}

.nav-link:hover{
 color:var(--secondary-color);
}

.nav-link::after{
 content:'';
 position:absolute;
 bottom:-5px;
 left:0;
 width:0;
 height:2px;
 background-color:#D4AF37;
 transition:all 0.3s ease;
}

.nav-link:hover::after{
 width:100%;
}

.theme-toggle{
 background:none;
 border:2px solid #D4AF37;
 border-radius:50%;
 width:40px;
 height:40px;
 display:flex;
 align-items:center;
 justify-content:center;
 cursor:pointer;
 transition:all 0.3s ease;
 color:#D4AF37;
 margin-right:1rem;
}

.theme-toggle:hover{
 background-color:#D4AF37;
 color:#4B0C0C;
 transform:scale(1.1);
}


.mobile-theme-toggle{
 display:none;
 position:absolute;
 right:60px;
 top:50%;
 transform:translateY(-50%);
 background:transparent;
 border:none;
 cursor:pointer;
 z-index:9999;
 padding:5px;
}

.mobile-theme-toggle i{
 font-size:1.2rem;
 color:#D4AF37;
}

.nav-cta{
 margin-left:0;
}


.nav-toggle{
 display:none;
 flex-direction:column;
 background:none;
 border:none;
 cursor:pointer;
 padding:5px;
 position:relative;
 z-index:10000;
 pointer-events:auto;
 -webkit-tap-highlight-color:transparent;
}

.nav-toggle-icon{
 width:25px;
 height:3px;
 background-color:#D4AF37;
 margin:3px 0;
 transition:all 0.3s ease;
}

.nav-toggle-active .nav-toggle-icon:nth-child(1){
 transform:rotate(45deg) translate(5px, 5px);
}

.nav-toggle-active .nav-toggle-icon:nth-child(2){
 opacity:0;
}

.nav-toggle-active .nav-toggle-icon:nth-child(3){
 transform:rotate(-45deg) translate(7px, -6px);
}


.hero{
 padding:120px 0 80px;
 background:var(--bg-color);
 min-height:100vh;
 display:flex;
 align-items:center;
 position:relative;
 overflow:hidden;
 z-index:1;
}


[data-theme="dark"] .hero{
 background:linear-gradient(135deg, #4B0C0C 0%, #6B1C1C 100%);
}


.hero::before{
 content:'';
 position:absolute;
 bottom:-50px;
 right:-50px;
 width:400px;
 height:400px;
 background-image:url('watermark-r.png');
 background-size:contain;
 background-repeat:no-repeat;
 background-position:center;
 opacity:0.1;
 z-index:0;
 animation:watermark-pulse 4s ease-in-out infinite;
}

@keyframes watermark-pulse{
 0%, 100%{ opacity:0.1;}
 50%{ opacity:0.15;}
}

.hero-container{
 max-width:1200px;
 margin:0 auto;
 padding:0 20px;
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:4rem;
 align-items:center;
 position:relative;
 z-index:1;
}

.hero-title{
 font-size:3rem;
 font-weight:700;
 color:var(--secondary-color);
 margin-bottom:1.5rem;
 line-height:1.2;
}

.hero-subtitle{
 font-size:1.2rem;
 color:var(--text-primary);
 margin-bottom:2rem;
}

.hero-cta{
 display:flex;
 gap:1rem;
 flex-wrap:wrap;
}

.hero-image{
 display:flex;
 justify-content:center;
 align-items:center;
}

.hero-slideshow{
 position:relative;
 width:400px;
 height:300px;
 overflow:hidden;
 border-radius:8px;
 box-shadow:0 2px 15px rgba(75, 12, 12, 0.15);
 z-index:1;
 background-color:transparent;
}

.hero-slideshow .slide{
 position:absolute;
 top:0;
 left:0;
 width:100%;
 height:100%;
 opacity:0;
 transition:opacity 1.5s ease-in-out;
 display:flex;
 align-items:center;
 justify-content:center;
}

.hero-slideshow .slide.active{
 opacity:1;
}

.hero-slideshow .slide.fade-out{
 opacity:0;
}

.hero-image-photo{
 width:auto;
 height:auto;
 max-width:100%;
 max-height:100%;
 object-fit:contain;
 border-radius:8px;
 image-rendering:high-quality;
 image-rendering:-webkit-optimize-contrast;
 backface-visibility:hidden;
 transform:translateZ(0);
 background-color:transparent;
}


section{
 padding:80px 0;
 background-color:var(--bg-color);
}


.fade-in{
 opacity:0;
 transform:translateY(30px);
 transition:opacity 0.8s ease, transform 0.8s ease;
}

.fade-in.visible{
 opacity:1;
 transform:translateY(0);
}

.slide-in-left{
 opacity:0;
 transform:translateX(-50px);
 transition:opacity 0.8s ease, transform 0.8s ease;
}

.slide-in-left.visible{
 opacity:1;
 transform:translateX(0);
}

.slide-in-right{
 opacity:0;
 transform:translateX(50px);
 transition:opacity 0.8s ease, transform 0.8s ease;
}

.slide-in-right.visible{
 opacity:1;
 transform:translateX(0);
}

.scale-in{
 opacity:0;
 transform:scale(0.8);
 transition:opacity 0.8s ease, transform 0.8s ease;
}

.scale-in.visible{
 opacity:1;
 transform:scale(1);
}

.section-header{
 text-align:center;
 margin-bottom:4rem;
}

.section-title{
 font-size:2.5rem;
 color:var(--secondary-color);
 margin-bottom:1rem;
}

.section-subtitle{
 font-size:1.2rem;
 color:var(--text-secondary);
 max-width:600px;
 margin:0 auto;
}


.services{
 background-color:var(--section-bg);
}

.services-grid{
 display:grid;
 grid-template-columns:repeat(3, 1fr);
 grid-template-rows:repeat(2, 1fr);
 gap:2rem;
 max-width:1200px;
 margin:0 auto;
}

.service-card{
 background:var(--card-bg);
 padding:2rem;
 border-radius:var(--border-radius);
 box-shadow:var(--shadow);
 text-align:center;
 transition:var(--transition);
}

.service-card:hover{
 transform:translateY(-5px);
 box-shadow:var(--shadow-hover);
}

.service-icon{
 width:80px;
 height:80px;
 background:linear-gradient(135deg, #D4AF37, #E6C547);
 border-radius:50%;
 display:flex;
 align-items:center;
 justify-content:center;
 margin:0 auto 1.5rem;
 color:#4B0C0C;
 font-size:2rem;
}

.service-card h3{
 color:var(--secondary-color);
 margin-bottom:1rem;
}


.process-flow{
 display:flex;
 align-items:center;
 justify-content:space-between;
 flex-wrap:wrap;
 gap:2rem;
}

.process-step{
 text-align:center;
 flex:1;
 min-width:200px;
 position:relative;
}

.step-number{
 width:60px;
 height:60px;
 background-color:var(--secondary-color);
 color:var(--primary-color);
 border-radius:50%;
 display:flex;
 align-items:center;
 justify-content:center;
 font-size:1.5rem;
 font-weight:700;
 margin:0 auto 1rem;
}

.step-icon{
 width:80px;
 height:80px;
 background-color:var(--section-bg);
 border-radius:50%;
 display:flex;
 align-items:center;
 justify-content:center;
 margin:0 auto 1rem;
 color:var(--secondary-color);
 font-size:1.5rem;
}

.process-arrow{
 color:var(--secondary-color);
 font-size:1.5rem;
 display:flex;
 align-items:center;
}


.booking{
 background:var(--primary-color);
 color:var(--text-light);
 text-align:center;
}


[data-theme="dark"] .booking{
 background:linear-gradient(135deg, #4B0C0C, #6B1C1C);
}

.booking h2{
 color:var(--secondary-color);
 font-size:2.5rem;
 margin-bottom:1rem;
}

.booking p{
 color:#F5F1EC;
 font-size:1.2rem;
 margin-bottom:2rem;
 max-width:800px;
 margin-left:auto;
 margin-right:auto;
}

.booking-cta{
 margin-top:2rem;
}

.booking-buttons{
 display:flex;
 justify-content:center;
 gap:1.5rem;
 flex-wrap:wrap;
 align-items:center;
}

.booking-buttons .btn{
 flex:0 0 auto;
 width:200px;
 height:56px;
 min-width:200px;
 transition:all 0.3s ease;
 font-family:'Poppins', sans-serif;
 font-weight:500;
 line-height:1.2;
 white-space:nowrap;
 box-sizing:border-box;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 padding:16px 24px;
 font-size:1rem;
}

.booking-buttons .btn:hover{
 transform:translateY(-2px);
 box-shadow:0 8px 25px rgba(212, 175, 55, 0.3);
}

.booking-hours{
 margin-top:1rem;
 color:#F5F1EC;
 font-size:1rem;
 opacity:0.8;
}


.about-content{
 display:grid;
 grid-template-columns:2fr 1fr;
 gap:4rem;
 align-items:center;
}

.about-text h2{
 color:var(--secondary-color);
 margin-bottom:1.5rem;
}

.about-text p{
 margin-bottom:1.5rem;
 font-size:1.1rem;
 color:var(--text-secondary);
}

.about-stats{
 display:flex;
 justify-content:space-around;
 align-items:center;
 gap:1rem;
 margin-top:2rem;
 max-width:100%;
}

.stat{
 text-align:center;
 flex:1;
}

.stat-number{
 display:block;
 font-size:2rem;
 font-weight:700;
 color:var(--secondary-color);
}

.stat-label{
 color:var(--text-secondary);
 font-size:0.9rem;
}

.stat-label small{
 font-size:0.75rem;
 opacity:0.8;
 line-height:1.2;
}

.about-logo-image{
 width:300px;
 height:250px;
 object-fit:contain;
 border-radius:8px;
 margin:0 auto;
 display:block;
 transition:all 0.3s ease;
}


[data-theme="dark"] .about-logo-image{
 filter:none;
}


.contact{
 padding:80px 0;
 background:linear-gradient(135deg, var(--primary-color) 0%, #722424 100%);
 color:#F5F1EC;
 position:relative;
 overflow:hidden;
}

.contact::before{
 content:'';
 position:absolute;
 top:0;
 right:0;
 bottom:0;
 left:0;
 background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M10 20h80v10H10zm0 20h80v10H10zm0 20h80v10H10z" fill="rgba(212,175,55,0.03)"/></svg>') repeat;
 opacity:0.1;
 z-index:1;
}

.contact .container{
 position:relative;
 z-index:2;
}

.contact .section-title{
 color:var(--secondary-color);
}

.contact .section-subtitle{
 color:rgba(245, 241, 236, 0.8);
}

.contact-grid{
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
 gap:1.5rem;
 margin-top:3rem;
 max-width:1200px;
 margin-left:auto;
 margin-right:auto;
}

.contact-card{
 background:rgba(255, 255, 255, 0.05);
 padding:2rem;
 border-radius:12px;
 text-align:center;
 border:1px solid rgba(212, 175, 55, 0.2);
 box-shadow:0 8px 32px rgba(0, 0, 0, 0.1);
 backdrop-filter:blur(10px);
 transition:all 0.3s ease;
}

.contact-card:hover{
 transform:translateY(-5px);
 background:rgba(255, 255, 255, 0.1);
 box-shadow:0 15px 40px rgba(0, 0, 0, 0.2);
 border-color:var(--secondary-color);
}

.contact-icon{
 width:70px;
 height:70px;
 background:linear-gradient(135deg, var(--secondary-color), #E6C144);
 border-radius:50%;
 margin:0 auto 1.5rem;
 display:flex;
 align-items:center;
 justify-content:center;
 color:var(--primary-color);
 font-size:1.8rem;
 box-shadow:0 4px 20px rgba(212, 175, 55, 0.3);
 transition:all 0.3s ease;
}

.contact-card:hover .contact-icon{
 transform:scale(1.1) rotate(5deg);
 box-shadow:0 8px 30px rgba(212, 175, 55, 0.5);
}

.contact-card h3{
 color:var(--secondary-color);
 margin-bottom:1rem;
 font-size:1.2rem;
 font-weight:600;
}

.contact-card p{
 color:#F5F1EC;
 margin:0;
 line-height:1.6;
 font-size:1rem;
}

.contact-card a{
 color:#F5F1EC;
 text-decoration:none;
 font-weight:500;
 transition:var(--transition);
}

.contact-card a:hover{
 color:var(--secondary-color);
 text-decoration:underline;
}


.email-text{
 word-wrap:break-word;
 word-break:break-all;
 overflow-wrap:break-word;
 hyphens:auto;
}


.contact-card-link{
 text-decoration:none;
 color:inherit;
 display:block;
 outline:none;
}

.contact-card-link:hover,
.contact-card-link:focus,
.contact-card-link:active{
 text-decoration:none;
 outline:none;
 color:inherit;
}

.clickable-card{
 cursor:pointer;
 transition:all 0.3s ease;
}

.contact-card-link:hover .clickable-card{
 transform:translateY(-5px);
 background:rgba(255, 255, 255, 0.1);
 box-shadow:0 15px 40px rgba(0, 0, 0, 0.2);
 border-color:var(--secondary-color);
}


.section-divider{
 height:2px;
 background:linear-gradient(90deg, transparent, var(--primary-color), transparent);
 margin:60px 0;
 opacity:0.3;
}


.heritage-timeline{
 background-color:var(--primary-color);
 padding:3rem 0;
 margin:4rem 0;
}

.timeline-container{
 max-width:1200px;
 margin:0 auto;
 padding:0 20px;
 text-align:center;
}

.timeline-title{
 color:var(--secondary-color);
 font-size:1.5rem;
 margin-bottom:2rem;
 font-weight:600;
}

.timeline-box{
 padding:40px 20px;
 margin:40px auto;
 background-color:transparent;
 position:relative;
 max-width:1000px;
}

.timeline-strip{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 flex-wrap:wrap;
 gap:1rem;
 position:relative;
 z-index:2;
 padding-bottom:60px;
}

.timeline-item{
 flex:1;
 text-align:center;
 position:relative;
 opacity:0;
 transform:translateY(20px);
 transition:all 0.6s ease;
}

.timeline-text{
 color:#D4AF37;
 font-weight:600;
 font-size:0.95rem;
 line-height:1.4;
 display:inline-block;
}

.timeline-item.visible{
 opacity:1;
 transform:translateY(0);
}

.timeline-item:nth-child(1){ transition-delay:0.1s;}
.timeline-item:nth-child(2){ transition-delay:0.2s;}
.timeline-item:nth-child(3){ transition-delay:0.3s;}
.timeline-item:nth-child(4){ transition-delay:0.4s;}


.timeline-connector{
 position:absolute;
 bottom:20px;
 left:20px;
 right:20px;
 height:40px;
 z-index:1;
}


.horizontal-line{
 display:none;
}


.vertical-line{
 position:absolute;
 bottom:2px;
 width:2px;
 height:30px;
 background-color:#D4AF37;
}

.vertical-line-1{
 left:12.5%;
 transform:translateX(-50%);
}

.vertical-line-2{
 left:37.5%;
 transform:translateX(-50%);
}

.vertical-line-3{
 left:62.5%;
 transform:translateX(-50%);
}

.vertical-line-4{
 left:87.5%;
 transform:translateX(-50%);
}


.horizontal-segment{
 position:absolute;
 bottom:2px;
 height:2px;
 background-color:#D4AF37;
}


.segment-1{
 left:12.5%;
 width:25%;
}


.segment-2{
 left:37.5%;
 width:25%;
}


.segment-3{
 left:62.5%;
 width:25%;
}


@media (max-width:768px){
 .timeline-box{
 padding:30px 15px;
 margin:30px auto;
 }
 
 .timeline-strip{
 flex-direction:column;
 gap:2rem;
 padding-bottom:0;
 }
 
 .timeline-item{
 flex:none;
 width:100%;
 text-align:center;
 }
 
 .timeline-text{
 font-size:1rem;
 }
 
 .timeline-connector{
 display:none;
 }
}


.footer{
 background-color:var(--primary-color);
 color:#F5F1EC;
 padding:3rem 0 1rem;
}

.footer-content{
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
 gap:2rem;
 margin-bottom:2rem;
}

.footer-section h3,
.footer-section h4{
 color:var(--secondary-color);
 margin-bottom:1rem;
}

.footer-section p,
.footer-section a{
 color:#F5F1EC;
 text-decoration:none;
 transition:var(--transition);
}

.footer-section a:hover{
 color:var(--secondary-color);
}

.footer-social{
 display:flex;
 gap:1rem;
 margin-top:1rem;
}

.social-link{
 width:40px;
 height:40px;
 background-color:rgba(212, 175, 55, 0.2);
 border-radius:50%;
 display:flex;
 align-items:center;
 justify-content:center;
 transition:var(--transition);
 color:#D4AF37;
 font-size:1.2rem;
}

.social-link:hover{
 background-color:#D4AF37;
 color:#4B0C0C;
 transform:translateY(-2px) scale(1.1);
 animation:social-wiggle 0.5s ease-in-out;
}

@keyframes social-wiggle{
 0%, 100%{ transform:translateY(-2px) scale(1.1) rotate(0deg);}
 25%{ transform:translateY(-2px) scale(1.1) rotate(-5deg);}
 75%{ transform:translateY(-2px) scale(1.1) rotate(5deg);}
}

.contact-info p,
.opening-hours p{
 display:flex;
 align-items:center;
 gap:0.5rem;
 margin-bottom:0.5rem;
}

.footer-links{
 list-style:none;
}

.footer-links li{
 margin-bottom:0.5rem;
}



.footer-bottom{
 border-top:1px solid rgba(212, 175, 55, 0.2);
 padding-top:1rem;
 display:flex;
 justify-content:space-between;
 align-items:center;
 color:#F5F1EC;
 opacity:0.6;
 animation:footer-fade-in 1s ease-in-out;
}

.footer-bottom p{
 margin:0;
 font-size:0.9rem;
}

@keyframes footer-fade-in{
 from{ opacity:0;transform:translateY(20px);}
 to{ opacity:0.6;transform:translateY(0);}
}


.evolvai-attribution{
 text-align:right;
}

.evolvai-link{
 text-decoration:none;
 font-size:0.9rem;
 color:#F5F1EC;
 display:inline-flex;
 align-items:center;
 transition:all 0.3s ease;
 font-family:'Poppins', sans-serif;
}

.evolvai-link:hover{
 color:var(--secondary-color);
 transform:translateY(-1px);
}

.evolvai-logo{
 height:14px;
 width:auto;
 margin-left:6px;
 filter:brightness(0.6) sepia(1) saturate(0) hue-rotate(0deg);
 transition:all 0.3s ease;
}

.evolvai-link:hover .evolvai-logo{
 filter:brightness(1.2) sepia(1) saturate(2) hue-rotate(35deg);
 transform:scale(1.05);
}


.back-to-top{
 position:fixed;
 bottom:30px;
 right:30px;
 width:50px;
 height:50px;
 background-color:#D4AF37;
 color:#4B0C0C;
 border:none;
 border-radius:50%;
 cursor:pointer;
 font-size:1.2rem;
 display:none;
 align-items:center;
 justify-content:center;
 z-index:1000;
 transition:all 0.3s ease;
 box-shadow:0 4px 15px rgba(212, 175, 55, 0.3);
}

.back-to-top:hover{
 background-color:#B8941F;
 transform:translateY(-2px);
 box-shadow:0 0 20px #D4AF37;
}

.back-to-top.visible{
 display:flex;
 animation:slide-in-bottom 0.3s ease-out;
}

@keyframes slide-in-bottom{
 from{ opacity:0;transform:translateY(100px);}
 to{ opacity:1;transform:translateY(0);}
}


.modal{
 display:none;
 position:fixed;
 z-index:9999;
 left:0;
 top:0;
 width:100%;
 height:100%;
 background-color:rgba(122, 30, 30, 0.8);
 backdrop-filter:blur(5px);
 animation:fadeIn 0.3s ease-out;
}

.modal.modal-active{
 display:block;
}

@keyframes fadeIn{
 from{ opacity:0;}
 to{ opacity:1;}
}

.modal-content{
 background-color:#7a1e1e;
 margin:5% auto;
 padding:2rem;
 border-radius:12px;
 width:90%;
 max-width:600px;
 position:relative;
 box-shadow:0 10px 30px rgba(0, 0, 0, 0.5);
 animation:slideIn 0.4s ease-out;
 border:2px solid #d4af37;
}

@keyframes slideIn{
 from{ 
 transform:translateY(-50px);
 opacity:0;
 }
 to{ 
 transform:translateY(0);
 opacity:1;
 }
}

.close-modal{
 position:absolute;
 top:15px;
 right:20px;
 font-size:2rem;
 font-weight:bold;
 color:#d4af37;
 cursor:pointer;
 transition:all 0.3s ease;
 width:30px;
 height:30px;
 display:flex;
 align-items:center;
 justify-content:center;
 border-radius:50%;
}

.close-modal:hover{
 color:#ffffff;
 background-color:rgba(212, 175, 55, 0.2);
}

.modal-content h2{
 color:#d4af37;
 margin-bottom:1rem;
 font-size:1.8rem;
 text-align:center;
 font-weight:600;
 font-family:'Poppins', sans-serif;
}

.modal-content > p{
 color:#ffffff;
 text-align:center;
 margin-bottom:2rem;
 font-size:1.1rem;
 font-family:'Poppins', sans-serif;
}

.booking-options{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:2rem;
 margin-top:2rem;
}

.booking-option{
 background:rgba(212, 175, 55, 0.1);
 padding:1.5rem;
 border-radius:8px;
 text-align:center;
 transition:all 0.3s ease;
 border:2px solid #d4af37;
}

.booking-option:hover{
 background:rgba(212, 175, 55, 0.2);
 transform:translateY(-2px);
 box-shadow:0 8px 20px rgba(212, 175, 55, 0.3);
}

.vehicle-image{
 margin-bottom:1rem;
 display:flex;
 justify-content:center;
}

.vehicle-img{
 width:160px;
 height:auto;
 max-width:100%;
 object-fit:contain;
}

.booking-option h3{
 color:#d4af37;
 margin-bottom:1rem;
 font-size:1.2rem;
 font-weight:600;
 font-family:'Poppins', sans-serif;
}

.booking-option p{
 color:#ffffff;
 margin-bottom:1.5rem;
 font-size:0.95rem;
 line-height:1.5;
 font-family:'Poppins', sans-serif;
}

.booking-btn{
 width:100%;
 padding:12px 20px;
 font-size:1rem;
 font-weight:600;
 border-radius:8px;
 background:#d4af37;
 color:#7a1e1e;
 border:none;
 cursor:pointer;
 transition:all 0.3s ease;
 font-family:'Poppins', sans-serif;
 text-decoration:none;
 display:inline-block;
 text-align:center;
}

.booking-btn:hover{
 transform:translateY(-2px);
 box-shadow:0 8px 20px rgba(212, 175, 55, 0.4);
 background:#e6c144;
}



@media (min-width:1025px){
 .header{
 position:fixed;
 top:0;
 width:100%;
 z-index:9999;
 background-color:var(--primary-color);
 opacity:1 !important;
 visibility:visible !important;
 display:block !important;
 transition:background-color 0.3s ease, backdrop-filter 0.3s ease;
 }
}

@media (max-width:1024px){
 .hero-container{
 grid-template-columns:1fr;
 text-align:center;
 gap:2rem;
 }
 
 .hero-title{
 font-size:2.5rem;
 }
 
 .hero-slideshow{
 width:350px;
 height:260px;
 }
 
 .about-content{
 grid-template-columns:1fr;
 text-align:center;
 }
 
 .about-stats{
 justify-content:center;
 }
}


@media screen and (max-width:768px){
 
 .header{
 position:fixed;
 top:0;
 left:0;
 right:0;
 height:60px;
 padding:0;
 z-index:9999;
 background-color:var(--primary-color);
 width:100%;
 }
 
 .nav{
 width:100%;
 height:60px;
 padding:0;
 display:flex;
 align-items:center;
 }
 
 
 .nav-container{
 display:flex !important;
 justify-content:space-between;
 align-items:center;
 width:100%;
 height:60px;
 padding:0 15px;
 position:relative;
 flex-direction:row !important;
 flex-wrap:nowrap !important;
 }
 
 
 .logo{
 flex:0 0 auto;
 display:flex;
 align-items:center;
 justify-content:flex-start;
 height:40px;
 order:1;
 }
 
 .logo-image{
 height:35px;
 width:auto;
 max-width:120px;
 display:block;
 object-fit:contain;
 }
 
 
 .nav-toggle{
 position:absolute !important;
 left:50%;
 top:50%;
 transform:translate(-50%, -50%);
 display:flex !important;
 align-items:center;
 justify-content:center;
 width:44px;
 height:44px;
 padding:10px;
 background:transparent;
 border:none;
 cursor:pointer;
 z-index:10001;
 -webkit-tap-highlight-color:transparent;
 order:2;
 }
 
 .nav-toggle span{
 display:block;
 width:24px;
 height:3px;
 background-color:#D4AF37;
 margin:4px 0;
 transition:0.3s;
 border-radius:2px;
 pointer-events:none;
 }
 
 
 .mobile-theme-toggle{
 flex:0 0 auto;
 display:flex !important;
 align-items:center;
 justify-content:center;
 width:32px;
 height:32px;
 border:1px solid #D4AF37;
 border-radius:50%;
 padding:0;
 background-color:transparent;
 cursor:pointer;
 -webkit-tap-highlight-color:transparent;
 order:3;
 }
 
 .mobile-theme-toggle i{
 font-size:14px;
 line-height:1;
 display:block;
 margin:0;
 padding:0;
 color:#D4AF37;
 pointer-events:none;
 }
 
 
 .nav-cta{
 display:none !important;
 }
 
 
 .theme-toggle{
 display:none;
 }
 
 
 .hero::before{
 width:250px;
 height:250px;
 bottom:-30px;
 right:-30px;
 }
 
 
 .timeline-strip{
 flex-direction:column;
 gap:1.5rem;
 }
 
 .timeline-item{
 font-size:1rem;
 text-align:center;
 }
 
 .nav-center{
 position:fixed;
 top:45px;
 left:0;
 right:0;
 width:100%;
 background-color:#4B0C0C;
 flex-direction:column;
 align-items:center;
 padding:1rem 2rem;
 box-shadow:0 2px 15px rgba(75, 12, 12, 0.15);
 transform:translateY(-120%);
 transition:transform 0.3s ease-in-out;
 z-index:9998;
 overflow:visible;
 display:none;
 }
 
 .nav-center-active{
 transform:translateY(0);
 display:flex !important;
 }
 
 .nav-menu{
 position:fixed;
 top:115px;
 left:0;
 right:0;
 width:100%;
 background-color:#4B0C0C;
 flex-direction:column;
 align-items:center;
 padding:1rem 2rem 2rem;
 box-shadow:0 2px 15px rgba(75, 12, 12, 0.15);
 transform:translateY(-120%);
 transition:transform 0.3s ease-in-out;
 z-index:9997;
 overflow:visible;
 display:none;
 }
 
 .nav-menu-active{
 transform:translateY(0);
 display:flex !important;
 }
 
 .nav-list{
 flex-direction:column;
 gap:1rem;
 margin-bottom:1rem;
 }
 
 .theme-toggle{
 margin-bottom:1rem;
 margin-right:0;
 }
 
 .nav-cta{
 margin-left:0;
 }
 
 
 .hero{
 padding-top:120px;
 padding-bottom:60px;
 min-height:auto;
 }
 
 .hero-title{
 font-size:2rem;
 }
 
 .hero-subtitle{
 font-size:1.1rem;
 }
 
 .hero-cta{
 flex-direction:column;
 align-items:center;
 }
 
 
 .hero-slideshow{
 width:100%;
 max-width:100%;
 height:300px;
 aspect-ratio:4/3;
 overflow:hidden;
 margin:0 auto;
 border:none !important;
 box-shadow:none !important;
 background-color:transparent !important;
 border-radius:10px !important;
 display:flex;
 align-items:center;
 justify-content:center;
 }
 
 .hero-slideshow .slide{
 position:absolute;
 width:100%;
 height:100%;
 background-color:transparent !important;
 display:flex;
 align-items:center;
 justify-content:center;
 border:none !important;
 margin:0 !important;
 padding:0 !important;
 }
 
 .hero-image-photo{
 width:100%;
 height:100%;
 object-fit:contain !important;
 object-position:center center !important;
 border:none !important;
 box-shadow:none !important;
 margin:0 !important;
 padding:0 !important;
 display:block;
 background-color:transparent !important;
 border-radius:10px !important;
 }
 
 
 section{
 padding:60px 0;
 }
 
 .section-title{
 font-size:2rem;
 }
 
 .services-grid{
 grid-template-columns:repeat(2, 1fr);
 gap:1.5rem;
 max-width:700px;
 }
 
 
 .process-flow{
 flex-direction:column;
 }
 
 .process-arrow{
 transform:rotate(90deg);
 }
 
 .about-stats{
 display:grid;
 grid-template-columns:repeat(2, 1fr);
 gap:1rem;
 }
 
 .stat{
 flex:none;
 }
 
 .booking h2{
 font-size:2rem;
 }
 
 .booking p{
 font-size:1.1rem;
 }
 
 
 .modal-content{
 margin:10% auto;
 padding:1.5rem;
 width:95%;
 }
 
 .booking-options{
 grid-template-columns:1fr;
 gap:1.5rem;
 }
 
 .modal-content h2{
 font-size:1.5rem;
 }
 
 .booking-option{
 padding:1.2rem;
 }
 
 .booking-option h3{
 font-size:1.1rem;
 }
 
 .booking-option p{
 font-size:0.9rem;
 }
 
 .hero-slideshow{
 width:300px;
 height:220px;
 }
 
 .vehicle-img{
 width:130px;
 height:auto;
 }
 
 
 .booking-buttons{
 flex-direction:column;
 gap:1rem;
 }
 
 .booking-buttons .btn{
 width:250px;
 height:56px;
 min-width:250px;
 }
 
 
 .contact-grid{
 grid-template-columns:repeat(2, 1fr);
 gap:1.5rem;
 }
 
 .contact-card{
 padding:1.5rem;
 }
 
 .contact-icon{
 width:60px;
 height:60px;
 font-size:1.5rem;
 }
}

@media (max-width:480px){
 .container{
 padding:0 15px;
 }
 
 .logo-image{
 height:83px;
 max-width:330px;
 }
 
 .hero-title{
 font-size:1.8rem;
 }
 
 .hero-slideshow{
 width:100%;
 height:250px;
 max-width:100%;
 }
 
 .section-title{
 font-size:1.8rem;
 }
 
 .btn-large{
 padding:14px 24px;
 font-size:1rem;
 }
 
 .service-card{
 padding:1.5rem;
 }
 
 .services-grid{
 grid-template-columns:1fr;
 gap:1.5rem;
 max-width:400px;
 }
 
 .footer-content{
 grid-template-columns:1fr;
 text-align:center;
 }
 
 
 .footer-bottom{
 flex-direction:column;
 gap:1rem;
 text-align:center;
 }
 
 .evolvai-attribution{
 text-align:center;
 }
 
 
 .booking-buttons .btn{
 width:220px;
 height:52px;
 min-width:220px;
 font-size:1rem;
 padding:14px 20px;
 }
 
 
 .contact-grid{
 grid-template-columns:1fr;
 gap:1rem;
 }
 
 .contact-card{
 padding:1.2rem;
 }
 
 
 .modal-content{
 margin:15% auto;
 padding:1.2rem;
 }
 
 .close-modal{
 font-size:1.5rem;
 top:10px;
 right:15px;
 }
 
 .vehicle-img{
 width:110px;
 height:auto;
 }
}


@media only screen 
and (min-device-width:375px) 
and (max-device-width:812px) 
and (-webkit-min-device-pixel-ratio:2){
 .nav-toggle{
 position:relative;
 z-index:10001;
 -webkit-touch-callout:none;
 -webkit-user-select:none;
 touch-action:manipulation;
 }
 
 .nav-center,
 .nav-menu{
 -webkit-backface-visibility:hidden;
 -webkit-transform:translateZ(0);
 transform:translateZ(0);
 }
 
 .hero-slideshow{
 width:100%;
 height:280px;
 max-height:50vh;
 }
 
 .hero-slideshow .slide{
 -webkit-transform:translateZ(0);
 transform:translateZ(0);
 }
}


@media (prefers-reduced-motion:reduce){
 *{
 animation-duration:0.01ms !important;
 animation-iteration-count:1 !important;
 transition-duration:0.01ms !important;
 }
}


.btn:focus,
.nav-link:focus,
a:focus{
 outline:2px solid #D4AF37;
 outline-offset:2px;
}


@media print{
 .header,
 .nav-toggle,
 .booking,
 .footer{
 display:none;
 }
 
 body{
 font-size:12pt;
 line-height:1.4;
 }
 
 h1, h2, h3{
 page-break-after:avoid;
 }
}