
:root{
  --bg:#f7f1e6;
  --paper:#fffaf0;
  --green:#2f6b51;
  --green-2:#1f3d30;
  --wood:#8B5E3C;
  --ink:#2b2b2b;
  --muted:#6b6b6b;
  --accent:#cb7f3d;
  --card:#fff7e1;
  --shadow:0 10px 24px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial;line-height:1.5}
img{max-width:100%;display:block}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:0 16px}

header.site-header{position:sticky;top:0;background:linear-gradient(#fcf7eb,#f4ead5);border-bottom:1px solid #e6dcc6;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:44px}
.brand .name{font-family:Georgia,serif;font-weight:700;color:var(--green-2);letter-spacing:.5px}

/* Hamburger Menu Button */
.hamburger{display:none;flex-direction:column;cursor:pointer;padding:8px;background:none;border:none}
.hamburger span{width:25px;height:3px;background:var(--green-2);margin:3px 0;transition:0.3s;border-radius:2px}

nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}
nav a{padding:10px 12px;border-radius:10px;font-weight:600;color:var(--green-2);transition:background 0.3s}
nav a.active, nav a:hover{background:#e9dfc9}

.hero{position:relative;overflow:hidden;background:var(--green);}
.slider{position:relative}
.slide{display:none;opacity:0;transition:opacity 0.5s ease-in-out}
.slide.active{display:block;opacity:1}
.slide img{width:100%;height:520px;object-fit:fill}
.hero .dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10}
.hero .dots a{width:10px;height:10px;border-radius:50%;background:#fff4;border:2px solid #fff9;display:block;cursor:pointer;transition:all 0.3s ease}
.hero .dots a.active,.hero .dots a:hover{background:#fff;border-color:#fff;transform:scale(1.2)}

/* Slogan Overlay */
.slogan-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:5;background:linear-gradient(135deg,rgba(47,107,81,0.7),rgba(31,61,48,0.5))}
.slogan-content{text-align:center;color:#f9f2e3;max-width:600px;padding:0 20px;animation:fadeInUp 1s ease-out}
.slogan-title{font-family:Georgia,serif;font-size:3.5rem;font-weight:700;margin:0 0 16px;text-shadow:2px 2px 4px rgba(0,0,0,0.5);line-height:1.2}
.slogan-subtitle{font-size:1.3rem;margin:0 0 24px;opacity:0.95;font-weight:400;text-shadow:1px 1px 2px rgba(0,0,0,0.5)}
.slogan-cta{display:inline-block;background:rgba(255,255,255,0.2);color:#fff;padding:14px 28px;border-radius:12px;font-weight:600;text-decoration:none;border:2px solid rgba(255,255,255,0.3);transition:all 0.3s ease;backdrop-filter:blur(10px)}
.slogan-cta:hover{background:rgba(255,255,255,0.3);border-color:rgba(255,255,255,0.5);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.2)}

@keyframes fadeInUp{
  from{opacity:0;transform:translateY(30px)}
  to{opacity:1;transform:translateY(0)}
}

.ribbon{background:#f4ead5;border-top:1px solid #e6dcc6;border-bottom:1px solid #e6dcc6}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:32px 0}
.card{background:var(--card);border:1px solid #eeddbb;border-radius:20px;box-shadow:var(--shadow);padding:24px;transition:all 0.3s ease;position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%}
.card:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(0,0,0,0.12);border-color:#d4c4a8}
.card-icon{font-size:3rem;text-align:center;margin-bottom:16px;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.1))}
.card h3{margin:0 0 12px;font-family:Georgia,serif;color:var(--green-2);font-size:1.4rem;text-align:center}
.card p{margin:0 0 16px;color:#534d45;line-height:1.6;text-align:center;font-size:0.95rem;flex-grow:1}
.card-highlight{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);color:var(--green-2);padding:8px 16px;border-radius:20px;font-size:0.85rem;font-weight:600;text-align:center;border:1px solid #d4e6d4;margin-top:auto}

/* Page Header Styles */
.page-header{text-align:center;margin-bottom:32px;padding:24px 0;background:linear-gradient(135deg,#f8f4e6,#f0ead5);border-radius:16px;border:1px solid #e6dcc6}
.page-header h2{font-family:Georgia,serif;color:var(--green-2);font-size:2.2rem;margin:0 0 12px;font-weight:700}
.page-description{font-size:1.1rem;color:#6b5a48;margin:0;line-height:1.6;max-width:600px;margin:0 auto}

/* Map Styles */
#map{position:relative;z-index:1}
#map .leaflet-control-container{z-index:2}

/* Performance Optimizations */
img{max-width:100%;height:auto;display:block}
.slide img{will-change:transform;transform:translateZ(0)}
.card{will-change:transform;transform:translateZ(0)}
.hamburger{will-change:transform;transform:translateZ(0)}

/* Accessibility Improvements */
@media (prefers-reduced-motion: reduce) {
  *{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}
  .slide{transition:none!important}
  .card{transition:none!important}
}

/* Focus Styles for Accessibility */
a:focus,button:focus{outline:2px solid #d4c4a8;outline-offset:2px}
.hamburger:focus{outline:2px solid #d4c4a8;outline-offset:2px}

/* About Page Styles */
.about-content{margin-top:32px}
.about-story{margin-bottom:48px}
.story-text{margin-bottom:32px}
.story-text h3{color:var(--green-2);font-family:Georgia,serif;font-size:1.8rem;margin-bottom:16px;font-weight:600}
.story-text p{font-size:1.1rem;line-height:1.7;color:#534d45;margin-bottom:16px}

.story-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:32px}
.highlight-card{background:var(--card);border:1px solid #eadcc2;border-radius:12px;padding:24px;text-align:center;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(0,0,0,0.05)}
.highlight-card:hover{border-color:#d4c4a8;box-shadow:0 4px 12px rgba(0,0,0,0.08);transform:translateY(-2px)}
.highlight-icon{font-size:2.5rem;margin-bottom:12px}
.highlight-card h4{color:var(--green-2);font-family:Georgia,serif;font-size:1.2rem;margin:0 0 8px;font-weight:600}
.highlight-card p{color:#6b5a48;margin:0;font-size:0.95rem;line-height:1.5}

.about-values{margin-bottom:48px}
.about-values h3{color:var(--green-2);font-family:Georgia,serif;font-size:1.8rem;margin-bottom:24px;font-weight:600}
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:100%;justify-content:center}
.value-item{background:var(--card);border:1px solid #eadcc2;border-radius:12px;padding:20px;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(0,0,0,0.05)}
.value-item:hover{border-color:#d4c4a8;box-shadow:0 4px 12px rgba(0,0,0,0.08);transform:translateY(-1px)}
.value-item h4{color:var(--green-2);font-family:Georgia,serif;font-size:1.1rem;margin:0 0 12px;font-weight:600}
.value-item p{color:#534d45;margin:0;line-height:1.6;font-size:0.95rem}

.about-services{margin-bottom:48px}
.about-services h3{color:var(--green-2);font-family:Georgia,serif;font-size:1.8rem;margin-bottom:24px;font-weight:600}
.services-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:100%;justify-content:center}
.service-item{background:var(--card);border:1px solid #eadcc2;border-radius:12px;padding:20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(0,0,0,0.05)}
.service-item:hover{border-color:#d4c4a8;box-shadow:0 4px 12px rgba(0,0,0,0.08);transform:translateY(-1px)}
.service-icon{font-size:2rem;flex-shrink:0}
.service-content h4{color:var(--green-2);font-family:Georgia,serif;font-size:1.1rem;margin:0 0 8px;font-weight:600}
.service-content p{color:#534d45;margin:0;line-height:1.5;font-size:0.95rem}

.about-gallery{margin-bottom:32px}
.about-gallery h3{color:var(--green-2);font-family:Georgia,serif;font-size:1.8rem;margin-bottom:24px;font-weight:600}
.about-gallery .gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px;max-width:100%;overflow:hidden}
.about-gallery .gallery img{border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,0.1);transition:transform 0.3s ease}
.about-gallery .gallery img:hover{transform:scale(1.02)}

/* Responsive About Page */
@media (max-width:768px) {
  .story-highlights{grid-template-columns:1fr;gap:16px}
  .values-grid{grid-template-columns:1fr;gap:16px}
  .services-list{grid-template-columns:1fr;gap:16px}
  .about-gallery .gallery{grid-template-columns:repeat(4,1fr);gap:12px;max-width:100%;overflow:hidden}
  .story-text h3,.about-values h3,.about-services h3,.about-gallery h3{font-size:1.5rem}
  .story-text p{font-size:1rem}
}

@media (max-width:480px) {
  .about-gallery .gallery{grid-template-columns:repeat(4,1fr);gap:8px;max-width:100%;overflow:hidden}
  .service-item{padding:16px}
  .highlight-card,.value-item,.service-item{padding:16px}
}

/* Print Styles */
@media print {
  .hamburger,.social{display:none}
  .site-header{border-bottom:1px solid #000}
  body{font-size:12pt;line-height:1.4}
  h1,h2,h3,h4,h5,h6{page-break-after:avoid}
}
.contact-card{background:var(--card);border:1px solid #eadcc2;border-radius:12px;padding:20px;margin-bottom:16px;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(0,0,0,0.05)}
.contact-card:hover{border-color:#d4c4a8;box-shadow:0 4px 12px rgba(0,0,0,0.08);transform:translateY(-1px)}
.contact-card h3{margin:0 0 12px;font-family:Georgia,serif;color:var(--green-2);font-size:1.2rem;font-weight:600}
.contact-card p{margin:0;color:#534d45;line-height:1.5;font-size:1rem}
.contact-card a{color:var(--green);text-decoration:none;font-weight:500}
.contact-card a:hover{color:var(--green-2);text-decoration:underline}

.section{padding:36px 0}
.section h2{font-family:Georgia,serif;color:var(--green-2);margin:0 0 12px}
.about{display:grid;grid-template-columns:1fr 1.2fr;gap:22px}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:100%;overflow:hidden}
.gallery img{height:140px;object-fit:cover;border-radius:12px;border:1px solid #eadcc2;box-shadow:var(--shadow)}

.info-bar{background:var(--paper);border-top:1px dashed #dac8a9;border-bottom:1px dashed #dac8a9}
.info-items{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 0}
.info{background:#f6f1e2;border:1px solid #eadcc2;border-radius:12px;padding:12px}
.info strong{color:var(--green-2)}

footer.site-footer{background:linear-gradient(#513722,#3b2718);color:#f7e6c9;margin-top:24px}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:22px;padding:24px 16px}
.footer-inner h4{margin:0 0 10px;font-family:Georgia,serif;color:#ffd9a6}
.footer-inner a{color:#f7e6c9}
.social{display:flex;gap:10px;margin-top:8px}
.social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#6b4a31}
.copyright{border-top:1px solid #6b4a31;color:#e9dfc9;padding:12px 16px;font-size:14px}

.cta{display:inline-block;background:var(--green);color:#fff;padding:10px 16px;border-radius:10px;font-weight:700}
.cta:hover{background:#275942}

@media (max-width:900px){
  .features{grid-template-columns:1fr}
  .about{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(4,1fr);gap:8px;max-width:100%;overflow:hidden}
  .footer-inner{grid-template-columns:1fr}
  .info-items{grid-template-columns:1fr}
  .slide img{height:300px}
}

@media (max-width:768px){
  .container{padding:0 12px}
  .header-inner{padding:8px 0}
  .brand img{height:36px}
  .brand .name{font-size:18px}
  
  /* Hamburger Menu Styles */
  .hamburger{display:flex}
  nav{position:absolute;top:100%;left:0;right:0;background:linear-gradient(#fcf7eb,#f4ead5);border-bottom:1px solid #e6dcc6;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all 0.3s ease}
  nav.active{transform:translateY(0);opacity:1;visibility:visible}
  nav ul{flex-direction:column;gap:0;padding:16px}
  nav a{display:block;padding:12px 16px;border-radius:0;border-bottom:1px solid #e6dcc6}
  nav a:last-child{border-bottom:none}
  
  /* Slogan Responsive */
  .slogan-title{font-size:2.5rem}
  .slogan-subtitle{font-size:1.1rem}
  .slogan-cta{padding:12px 24px;font-size:0.95rem}
  
  .hero .dots{bottom:12px}
  .slide img{height:250px}
  .section{padding:24px 0}
  .features{padding:24px 0;gap:16px}
  .card{padding:20px}
  .card-icon{font-size:2.5rem}
  .card h3{font-size:1.2rem}
  .card p{font-size:0.9rem}
  .page-header{padding:20px 0;margin-bottom:24px}
  .page-header h2{font-size:1.8rem}
  .page-description{font-size:1rem}
  .contact-card{padding:16px}
  .contact-card h3{font-size:1.1rem}
  .contact-card p{font-size:0.9rem}
  .gallery{grid-template-columns:repeat(4,1fr);gap:6px;max-width:100%;overflow:hidden}
  .gallery img{height:200px}
  .footer-inner{padding:20px 12px}
  .social{gap:8px}
  .social a{width:30px;height:30px}
}

@media (max-width:480px){
  .brand .name{font-size:16px}
  .slide img{height:200px}
  .card{padding:16px}
  .card-icon{font-size:2rem}
  .card h3{font-size:1.1rem}
  .card p{font-size:0.85rem}
  .card-highlight{font-size:0.8rem;padding:6px 12px}
  .page-header{padding:16px 0;margin-bottom:20px}
  .page-header h2{font-size:1.6rem}
  .page-description{font-size:0.95rem}
  .contact-card{padding:14px}
  .contact-card h3{font-size:1rem}
  .contact-card p{font-size:0.85rem}
  .section{padding:20px 0}
  .features{padding:20px 0;gap:12px}
  
  /* Slogan Mobile */
  .slogan-title{font-size:2rem}
  .slogan-subtitle{font-size:1rem}
  .slogan-cta{padding:10px 20px;font-size:0.9rem}
}
