*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --dg:#1A3D1A;--mg:#2D6A2D;--lg:#4CAF50;--llg:#8BC34A;
  --cream:#F8F8F2;--dark:#0D1F0D;--mid:#2A4A2A;
  --text:#1C2B1C;--muted:#4A6B4A;--border:rgba(45,106,45,0.15);
}
html{scroll-behavior:smooth}
body{font-family:"Inter",sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden}

nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:16px 5%;background:rgba(26,61,26,0.97);backdrop-filter:blur(16px);border-bottom:1px solid rgba(76,175,80,0.2);transition:all .3s}
.nav-logo{display:flex;align-items:center;gap:12px}
.nav-logo img{height:44px;width:auto}
.nav-links{display:flex;gap:28px;list-style:none}
.nav-links a{font-size:12px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.75);text-decoration:none;transition:color .2s;padding:4px 0;border-bottom:2px solid transparent}
.nav-links a:hover{color:#8BC34A;border-bottom-color:#8BC34A}
.nav-btn{font-size:12px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;padding:10px 24px;background:var(--lg);color:#fff;border:none;cursor:pointer;transition:all .25s;text-decoration:none}
.nav-btn:hover{background:var(--llg)}

html, body {
  overflow-x: hidden;
}

nav {
  position: fixed;
  top: 0;
  width: 100%;
  padding: 16px 5%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nav-left,
.nav-links,
.nav-btn {
  min-width: 0;
}


}
@media(max-width:900px){
  .nav-links{display:none}
}
.menu-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
}

.menu-toggle span{
  width:24px;
  height:2px;
  background:#fff;
  display:block;
}

/* MOBILE */
@media(max-width:900px){

  .menu-toggle{
    display:flex;
  }

  .nav-links{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#1A3D1A;
    flex-direction:column;
    align-items:center;
    gap:20px;
    padding:20px 0;
    display:none;
  }

  .nav-links.active{
    display:flex;
  }

  .nav-btn{
    display:none;
  }
}

.nav-left{
  display:flex;
  align-items:center;
  gap:18px;
}

.nav-call{
  font-size:12px;
  color:rgba(255,255,255,0.8);
  text-decoration:none;
  letter-spacing:0.05em;
  transition:0.3s;
  white-space:nowrap;
}

.nav-call:hover{
  color:#8BC34A;
}

/* MOBILE */
@media(max-width:900px){

  .nav-call{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:11px;
    padding:6px 10px;
    border:1px solid rgba(255,255,255,0.25);
    border-radius:20px;
    color:#fff;
    text-decoration:none;
    white-space:nowrap;
  }

  .nav-call:hover{
    border-color:#8BC34A;
    color:#8BC34A;
  }
}
/* DROPDOWN */
.dropdown {
  position: relative;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: #1A3D1A;
  min-width: 220px;
  display: none;
  flex-direction: column;
  padding: 10px 0;
  border-top: 2px solid #8BC34A;
  z-index: 999;
}

.dropdown-menu li {
  list-style: none;
}

.dropdown-menu a {
  display: block;
  padding: 10px 16px;
  font-size: 12px;
  color: rgba(255,255,255,0.75);
  text-decoration: none;
  transition: 0.2s;
}

.dropdown-menu a:hover {
  background: rgba(139,195,74,0.15);
  color: #8BC34A;
}

/* SHOW ON HOVER (DESKTOP) */
.dropdown:hover .dropdown-menu {
  display: flex;
}

/* MOBILE FIX */
@media (max-width: 900px) {
  .dropdown-menu {
    position: static;
    background: transparent;
    display: none;
    padding-left: 20px;
    border: none;
  }

  .dropdown.active .dropdown-menu {
    display: flex;
  }
}

/* HERO */
.hero{min-height:100vh;background:linear-gradient(160deg,#0a1f0a 0%,#1a3d1a 45%,#0d2a0d 100%);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:100px 5% 60px;gap:60px;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:0;right:0;bottom:0;width:55%;background:radial-gradient(ellipse at 70% 40%,rgba(76,175,80,0.08),transparent 60%);pointer-events:none}
.hero-badge{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:#8BC34A;margin-bottom:24px}
.hero-badge::before{content:'';width:36px;height:1px;background:#8BC34A}
h1.hero-title{font-family:"Cormorant Garamond",serif;font-size:clamp(48px,5.5vw,82px);font-weight:300;line-height:1.04;color:#fff;margin-bottom:28px}
h1.hero-title em{font-style:italic;color:#8BC34A}
.hero-sub{font-size:16px;font-weight:300;color:rgba(255,255,255,0.6);line-height:1.85;max-width:420px;margin-bottom:44px}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap}
.btn-green{font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;padding:15px 36px;background:#4CAF50;color:#fff;text-decoration:none;transition:all .3s;display:inline-block}
.btn-green:hover{background:#8BC34A}
.btn-outline{font-size:12px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;padding:15px 28px;border:1px solid rgba(255,255,255,0.3);color:#fff;text-decoration:none;transition:all .3s;display:inline-block}
.btn-outline:hover{border-color:#8BC34A;color:#8BC34A}
.hero-right{display:flex;flex-direction:column;gap:16px}
.hero-logo-wrap{display:flex;justify-content:center;align-items:center;margin-bottom:24px}
.hero-logo-wrap img{width:min(320px,80%);height:auto;filter:drop-shadow(0 0 40px rgba(76,175,80,0.25))}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.hero-stat{background:rgba(255,255,255,0.04);border:1px solid rgba(76,175,80,0.15);padding:20px 16px;text-align:center}
.stat-n{font-family:"Cormorant Garamond",serif;font-size:36px;font-weight:400;color:#8BC34A;line-height:1}
.stat-l{font-size:11px;color:rgba(255,255,255,0.45);letter-spacing:0.08em;margin-top:6px}

/* TICKER */
.ticker{background:#2D6A2D;padding:13px 0;overflow:hidden}
.ticker-track{display:flex;white-space:nowrap;animation:tick 24s linear infinite}
.tick-item{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.7);padding:0 44px;flex-shrink:0}
.tick-item span{color:#8BC34A;margin-right:10px}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTIONS */
section{padding:96px 5%}
.sec-tag{font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--lg);display:flex;align-items:center;gap:12px;margin-bottom:16px}
.sec-tag::before{content:'';width:32px;height:1px;background:var(--lg)}
.sec-title{font-family:"Cormorant Garamond",serif;font-size:clamp(34px,4vw,56px);font-weight:300;line-height:1.1;color:var(--dark)}
.sec-title em{font-style:italic;color:var(--mg)}

/* SERVICES */
.services-sec{background:#fff}
.services-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#E8F5E9}
.svc-card{background:#fff;padding:44px 36px;position:relative;transition:all .35s;cursor:default}
.svc-card:hover{background:var(--dg)}
.svc-card:hover .svc-num,.svc-card:hover .svc-title,.svc-card:hover .svc-desc,.svc-card:hover .svc-list li{color:#fff}
.svc-card:hover .svc-icon-wrap{border-color:rgba(139,195,74,0.4);background:rgba(139,195,74,0.1)}
.svc-card:hover .svc-list li::before{background:#8BC34A}
.svc-num{font-size:11px;letter-spacing:0.18em;color:var(--lg);margin-bottom:24px;display:block;transition:color .35s}
.svc-icon-wrap{width:52px;height:52px;border:1px solid rgba(45,106,45,0.2);border-radius:0;display:flex;align-items:center;justify-content:center;margin-bottom:24px;transition:all .35s;background:rgba(76,175,80,0.05)}
.svc-icon-wrap svg{width:24px;height:24px;stroke:var(--mg);fill:none;stroke-width:1.3;transition:stroke .35s}
.svc-card:hover .svc-icon-wrap svg{stroke:#8BC34A}
.svc-title{font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:400;color:var(--dark);margin-bottom:12px;transition:color .35s}
.svc-desc{font-size:13px;font-weight:300;color:var(--muted);line-height:1.8;margin-bottom:16px;transition:color .35s}
.svc-list{list-style:none;padding:0}
.svc-list li{font-size:12px;color:var(--muted);line-height:1.6;padding-left:14px;position:relative;transition:color .35s}
.svc-list li::before{content:'';position:absolute;left:0;top:8px;width:5px;height:1px;background:var(--lg);transition:background .35s}

/* WHY */
.why-sec{background:var(--dg)}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:56px}
.why-card{background:rgba(255,255,255,0.04);border:1px solid rgba(76,175,80,0.12);padding:40px 28px}
.why-icon{font-size:28px;margin-bottom:20px}
.why-title{font-family:"Cormorant Garamond",serif;font-size:20px;font-weight:400;color:#fff;margin-bottom:12px}
.why-desc{font-size:13px;font-weight:300;color:rgba(255,255,255,0.5);line-height:1.8}

/* PORTFOLIO */
.portfolio-sec{background:#F1F8E9}
.portfolio-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px}
.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.port-item{position:relative;overflow:hidden;cursor:pointer}
.port-item:nth-child(1){grid-column:span 7}
.port-item:nth-child(2){grid-column:span 5}
.port-item:nth-child(3){grid-column:span 4}
.port-item:nth-child(4){grid-column:span 4}
.port-item:nth-child(5){grid-column:span 4}
.port-thumb{width:100%;aspect-ratio:1.4;display:block;transition:transform .6s ease}
.port-item:nth-child(1) .port-thumb{aspect-ratio:1.2}
.port-item:hover .port-thumb{transform:scale(1.06)}
.port-overlay{position:absolute;inset:0;background:rgba(10,31,10,0);display:flex;flex-direction:column;justify-content:flex-end;padding:24px;transition:background .4s}
.port-item:hover .port-overlay{background:rgba(10,31,10,0.72)}
.port-info{opacity:0;transform:translateY(12px);transition:all .35s}
.port-item:hover .port-info{opacity:1;transform:translateY(0)}
.port-cat{font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:#8BC34A;margin-bottom:6px}
.port-name{font-family:"Cormorant Garamond",serif;font-size:20px;font-weight:400;color:#fff}

/* Room placeholders */
.rm1{background:linear-gradient(135deg,#C8E6C9,#81C784)}
.rm2{background:linear-gradient(135deg,#A5D6A7,#66BB6A)}
.rm3{background:linear-gradient(135deg,#DCEDC8,#AED581)}
.rm4{background:linear-gradient(135deg,#B2DFDB,#80CBC4)}
.rm5{background:linear-gradient(135deg,#C5E1A5,#9CCC65)}

/* PROCESS */
.process-sec{background:#fff}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:60px;border-top:1px solid #E8F5E9}
.proc-step{padding:44px 32px 44px 0;border-right:1px solid #E8F5E9;position:relative}
.proc-step:last-child{border-right:none}
.proc-num{font-family:"Cormorant Garamond",serif;font-size:72px;font-weight:300;color:rgba(76,175,80,0.12);line-height:1;margin-bottom:20px}
.proc-title{font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:400;color:var(--dark);margin-bottom:12px}
.proc-desc{font-size:13px;font-weight:300;color:var(--muted);line-height:1.8}

/* TESTIMONIALS */
.testi-sec{background:#E8F5E9}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.testi-card{background:#fff;padding:36px 28px;border-bottom:3px solid var(--lg)}
.testi-quote{font-size:42px;font-family:"Cormorant Garamond",serif;color:var(--lg);line-height:1;margin-bottom:8px}
.testi-text{font-size:14px;font-weight:300;color:var(--muted);line-height:1.85;font-style:italic;margin-bottom:24px}
.testi-name{font-size:13px;font-weight:600;color:var(--dark)}
.testi-role{font-size:11px;letter-spacing:0.08em;color:var(--lg);text-transform:uppercase;margin-top:3px}

/* CTA */
.cta-sec{background:var(--dg);padding:96px 5%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}
.cta-title{font-family:"Cormorant Garamond",serif;font-size:clamp(38px,4vw,62px);font-weight:300;color:#fff;line-height:1.08}
.cta-title em{font-style:italic;color:#8BC34A}
.cta-right p{font-size:15px;font-weight:300;color:rgba(255,255,255,0.6);line-height:1.85;margin-bottom:36px}
.cta-contact{display:flex;flex-direction:column;gap:14px;margin-bottom:36px}
.cta-contact a{color:rgba(255,255,255,0.75);text-decoration:none;font-size:14px;display:flex;align-items:center;gap:12px;transition:color .2s}
.cta-contact a:hover{color:#8BC34A}
.cta-dot{width:6px;height:6px;background:#8BC34A;border-radius:50%;flex-shrink:0}

/* FOOTER */
footer{background:#0D1F0D;padding:64px 5% 28px;color:#fff}
.footer-top{display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(76,175,80,0.12)}
.footer-logo img{height:60px;width:auto;margin-bottom:16px}
.footer-tag{font-size:13px;font-weight:300;color:rgba(255,255,255,0.38);line-height:1.8;max-width:240px}
.fc-title{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:#8BC34A;margin-bottom:20px}
.fc-links{list-style:none;display:flex;flex-direction:column;gap:10px}
.fc-links a{font-size:13px;font-weight:300;color:rgba(255,255,255,0.45);text-decoration:none;transition:color .2s}
.fc-links a:hover{color:#8BC34A}
.footer-bottom{padding-top:24px;display:flex;justify-content:space-between;align-items:center}
.footer-copy{font-size:11px;color:rgba(255,255,255,0.25)}
.social-row{display:flex;gap:24px}
.social-row a{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.35);text-decoration:none;transition:color .2s}
.social-row a:hover{color:#8BC34A}

@media(max-width:900px){
  .hero,.services-intro,.cta-sec{grid-template-columns:1fr}
  .services-grid,.why-grid,.process-steps,.testi-grid{grid-template-columns:1fr}
  .portfolio-grid .port-item{grid-column:span 12!important}
  .footer-top{grid-template-columns:1fr 1fr}
  nav{padding:14px 5%}
  .nav-links{display:none}
}
.svc-card{
  display:block;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
}

/* whatsapp */
.whatsapp-float{
  position:fixed;
  bottom:20px;
  right:20px;
  width:55px;
  height:55px;
  background:#25D366;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 25px rgba(0,0,0,0.25);
  z-index:9999;
  transition:all 0.3s ease;
}

.whatsapp-float img{
  width:28px;
  height:28px;
  filter:invert(1);
}

.whatsapp-float:hover{
  transform:scale(1.1);
}

.whatsapp-float::after{
  content:"";
  position:absolute;
  width:100%;
  height:100%;
  border-radius:50%;
  background:#25D366;
  opacity:0.4;
  z-index:-1;
  animation:pulse 1.8s infinite;
}

@keyframes pulse{
  0%{transform:scale(1);opacity:0.5;}
  70%{transform:scale(1.5);opacity:0;}
  100%{transform:scale(1.5);opacity:0;}
}