/* Reset and Base Styles */
*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}body{line-height:1.5;-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,-apple-system,"Segoe UI",Roboto,Inter,"Helvetica Neue",Arial,sans-serif;color:#1f2937;background-color:#fefefe}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3{line-height:1.2}p{line-height:1.6}

/* Skip Link */
.skip-link{position:absolute;top:-40px;left:6px;background:#d97706;color:white;padding:8px;text-decoration:none;z-index:1000}.skip-link:focus{top:6px}

/* Layout */
.container{max-width:1200px;margin:0 auto;padding:0 1rem}

/* Header */
.header{background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);border-bottom:1px solid #f3f4f6;position:sticky;top:0;z-index:100}.nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}.nav-brand{display:flex;align-items:center;gap:0.5rem;text-decoration:none}.brand-name{font-size:1.5rem;font-weight:700;color:#1f2937;text-decoration:none}.nav-menu{display:flex;list-style:none;gap:2rem;align-items:center}.nav-menu a{text-decoration:none;color:#4b5563;font-weight:500;transition:color 0.2s}.nav-menu a:hover{color:#d97706}.nav-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer}.nav-toggle span{width:25px;height:3px;background:#1f2937;margin:3px 0;transition:0.3s}

/* Buttons */
.btn{display:inline-block;padding:0.75rem 1.5rem;border-radius:0.5rem;text-decoration:none;font-weight:600;text-align:center;transition:all 0.2s;border:2px solid transparent;cursor:pointer}.btn-primary{background:linear-gradient(135deg,#d97706 0%,#f59e0b 100%);color:white;box-shadow:0 4px 6px -1px rgb(217 119 6 / 0.2)}.btn-primary:hover{background:linear-gradient(135deg,#b45309 0%,#d97706 100%);transform:translateY(-1px);box-shadow:0 8px 15px -3px rgb(217 119 6 / 0.3)}.btn-outline{background:transparent;color:#d97706;border-color:#d97706}.btn-outline:hover{background:#d97706;color:white}.btn-large{padding:1rem 2rem;font-size:1.125rem}

/* Hero Section */
.hero{padding:4rem 0;background:linear-gradient(135deg,#fef3c7 0%,#fed7aa 50%,#fde68a 100%)}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.hero-text h1{font-size:3rem;font-weight:800;margin-bottom:1.5rem;color:#1f2937;background:linear-gradient(135deg,#1f2937 0%,#374151 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;color:#4b5563;margin-bottom:2rem;line-height:1.6}.hero-cta{display:flex;gap:1rem;align-items:center;margin-bottom:2rem}.hero-features{display:flex;gap:1rem;flex-wrap:wrap}.feature-badge{display:flex;align-items:center;gap:0.5rem;background:rgba(255,255,255,0.8);padding:0.5rem 1rem;border-radius:2rem;font-size:0.875rem;font-weight:500;color:#1f2937}.badge-icon{font-size:1.25rem}.hero-image img{border-radius:1rem;box-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1),0 10px 10px -5px rgb(0 0 0 / 0.04)}

/* Services Section */
.services{padding:5rem 0;background:#ffffff}.section-header{text-align:center;max-width:600px;margin:0 auto 3rem}.section-header h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:#1f2937}.section-header p{font-size:1.125rem;color:#4b5563}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.service-card{background:#ffffff;border-radius:1rem;overflow:hidden;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1);transition:all 0.3s ease;border:1px solid #f3f4f6}.service-card:hover{transform:translateY(-8px);box-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25);border-color:#fed7aa}.service-card img{width:100%;height:200px;object-fit:cover}.service-card h3{font-size:1.5rem;font-weight:700;margin:1.5rem 1.5rem 1rem;color:#1f2937}.service-card p{color:#4b5563;margin:0 1.5rem 1rem;line-height:1.6}.service-features{list-style:none;margin:1rem 1.5rem 1.5rem}.service-features li{color:#d97706;margin-bottom:0.5rem;position:relative;padding-left:1.5rem}.service-features li::before{content:"💡";position:absolute;left:0;font-size:1rem}

/* Gallery Section */
.gallery{padding:5rem 0;background:#fef3c7}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.gallery-item{position:relative;border-radius:1rem;overflow:hidden;box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1);transition:transform 0.3s ease}.gallery-item:hover{transform:scale(1.05)}.gallery-item img{width:100%;height:250px;object-fit:cover}.gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,0.8));color:white;padding:2rem 1.5rem 1.5rem;transform:translateY(100%);transition:transform 0.3s ease}.gallery-item:hover .gallery-overlay{transform:translateY(0)}.gallery-overlay h4{font-size:1.25rem;font-weight:600;margin-bottom:0.5rem}.gallery-overlay p{font-size:0.875rem;opacity:0.9}

/* About Section */
.about{padding:5rem 0;background:#ffffff}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.about-text h2{font-size:2.25rem;font-weight:700;margin-bottom:1.5rem;color:#1f2937}.about-text p{color:#4b5563;margin-bottom:2rem;font-size:1.125rem}.about-features{display:grid;gap:2rem}.feature h3{font-size:1.25rem;font-weight:600;margin-bottom:0.5rem;color:#1f2937;display:flex;align-items:center;gap:0.5rem}.feature h3::before{content:"🏡";font-size:1.5rem}.feature:nth-child(2) h3::before{content:"🔒"}.feature:nth-child(3) h3::before{content:"⚡"}.feature p{color:#4b5563}.about-image img{border-radius:1rem;box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1)}

/* Testimonials */
.testimonials{padding:5rem 0;background:#fef3c7}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.testimonial{background:#ffffff;padding:2rem;border-radius:1rem;text-align:center;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1);transition:transform 0.2s ease}.testimonial:hover{transform:translateY(-4px)}.testimonial img{width:60px;height:60px;border-radius:50%;margin:0 auto 1rem;border:3px solid #fed7aa}.testimonial blockquote{font-style:italic;color:#4b5563;margin-bottom:1rem;font-size:1.125rem;line-height:1.6}.testimonial cite{color:#1f2937;font-weight:600}

/* FAQ Section */
.faq{padding:5rem 0;background:#ffffff}.faq-list{max-width:800px;margin:0 auto}.faq-item{background:#fef3c7;padding:1.5rem;border-radius:0.5rem;margin-bottom:1rem;transition:all 0.2s ease}.faq-item:hover{background:#fed7aa}.faq-item h3{font-size:1.25rem;font-weight:600;margin-bottom:0.5rem;color:#1f2937;cursor:pointer;display:flex;align-items:center;gap:0.5rem}.faq-item h3::before{content:"💡";font-size:1rem}.faq-item p{color:#4b5563}

/* Contact Section */
.contact{padding:5rem 0;background:#fef3c7}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.contact-info h2{font-size:2.25rem;font-weight:700;margin-bottom:1.5rem;color:#1f2937}.contact-info p{color:#4b5563;margin-bottom:2rem;font-size:1.125rem}.contact-details{display:grid;gap:1.5rem}.contact-item strong{color:#1f2937;display:block;margin-bottom:0.5rem;display:flex;align-items:center;gap:0.5rem}.contact-item strong::before{content:"🏠";font-size:1rem}.contact-item:nth-child(2) strong::before{content:"💡"}.contact-item:nth-child(3) strong::before{content:"⏰"}.contact-form{background:#ffffff;padding:2rem;border-radius:1rem;box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:0.5rem;font-weight:600;color:#1f2937}.form-group input,.form-group select,.form-group textarea{width:100%;padding:0.75rem;border:2px solid #e5e7eb;border-radius:0.5rem;font-size:1rem;transition:border-color 0.2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#d97706;box-shadow:0 0 0 3px rgb(217 119 6 / 0.1)}

/* Footer */
.footer{background:#1f2937;color:#d1d5db;padding:3rem 0 1rem}.footer-content{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2rem}.footer-brand{grid-column:1/2}.footer-brand h3{color:#ffffff;margin:0.5rem 0}.footer-brand p{font-size:0.875rem;line-height:1.6}.footer-section h4{color:#ffffff;margin-bottom:1rem;font-weight:600}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:0.5rem}.footer-section ul li a{color:#d1d5db;text-decoration:none;transition:color 0.2s}.footer-section ul li a:hover{color:#fed7aa}.footer-bottom{border-top:1px solid #374151;padding-top:1rem;text-align:center;font-size:0.875rem}.cookie-notice{margin-top:0.5rem;font-size:0.75rem}.cookie-notice a{color:#fed7aa;text-decoration:none}.cookie-notice a:hover{text-decoration:underline}

/* Legal Pages */
.legal-page{padding:2rem 0;max-width:800px}.legal-page h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:#1f2937}.legal-page h2{font-size:1.75rem;font-weight:600;margin:2rem 0 1rem;color:#1f2937}.legal-page h3{font-size:1.25rem;font-weight:600;margin:1.5rem 0 0.5rem;color:#1f2937}.legal-page p{margin-bottom:1rem;color:#4b5563}.legal-page ul{margin:1rem 0 1rem 2rem}.legal-page ul li{margin-bottom:0.5rem;color:#4b5563}.legal-page em{color:#6b7280}

/* Responsive Design */
@media (max-width:768px){
.nav-menu{position:absolute;top:100%;left:0;right:0;background:#ffffff;flex-direction:column;gap:0;padding:1rem;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1);display:none}.nav-menu.active{display:flex}.nav-toggle{display:flex}.hero-content{grid-template-columns:1fr;text-align:center}.hero-text h1{font-size:2.25rem}.hero-cta{justify-content:center;flex-wrap:wrap}.hero-features{justify-content:center}.about-content{grid-template-columns:1fr}.contact-content{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr;text-align:center}.services-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.testimonials-grid{grid-template-columns:1fr}}

@media (max-width:480px){
.container{padding:0 0.75rem}.hero{padding:2rem 0}.services{padding:3rem 0}.gallery{padding:3rem 0}.about{padding:3rem 0}.testimonials{padding:3rem 0}.faq{padding:3rem 0}.contact{padding:3rem 0}.hero-text h1{font-size:1.875rem}.section-header h2{font-size:2rem}.btn{padding:0.5rem 1rem}.btn-large{padding:0.75rem 1.5rem;font-size:1rem}.hero-features{gap:0.5rem}.feature-badge{padding:0.25rem 0.75rem;font-size:0.75rem}}