
/* ============================================
   MOCHA LUXURY THEME — Home Renew Craft
   ============================================ */
:root{
  --mocha-dark: #5C4033;
  --mocha-medium: #A47864;
  --mocha-light: #E7DCCF;
  --mocha-cream: #FFF8F2;
  --mocha-deep: #29211D;
  --accent-glow: rgba(164, 120, 100, 0.45);
  --shadow-soft: 0 10px 40px rgba(41, 33, 29, 0.08);
  --shadow-medium: 0 20px 60px rgba(41, 33, 29, 0.12);
  --shadow-heavy: 0 30px 80px rgba(41, 33, 29, 0.18);
  --glass-bg: rgba(255, 248, 242, 0.65);
  --glass-border: rgba(164, 120, 100, 0.2);
  --radius-lg: 24px;
  --radius-md: 16px;
  --radius-sm: 12px;
  --transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

*{margin:0;padding:0;box-sizing:border-box}

html{scroll-behavior:smooth;scroll-padding-top:90px}

body{
  font-family:'Inter', sans-serif;
  background:var(--mocha-cream);
  color:var(--mocha-deep);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6{
  font-family:'Playfair Display', serif;
  font-weight:700;
  color:var(--mocha-deep);
  line-height:1.2;
}

img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer;border:none;outline:none}
ul{list-style:none}

/* ============================================
   BACKGROUND FLOATING ELEMENTS
   ============================================ */
.bg-floats{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  overflow:hidden;
}
.bg-floats::before,
.bg-floats::after{
  content:'';
  position:absolute;
  border-radius:50%;
  filter:blur(80px);
  opacity:0.4;
}
.bg-floats::before{
  width:500px;height:500px;
  background:radial-gradient(circle, var(--mocha-medium), transparent 70%);
  top:-100px;right:-100px;
  animation:floatBg 20s ease-in-out infinite;
}
.bg-floats::after{
  width:600px;height:600px;
  background:radial-gradient(circle, var(--mocha-light), transparent 70%);
  bottom:-150px;left:-150px;
  animation:floatBg 25s ease-in-out infinite reverse;
}
@keyframes floatBg{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(60px,-80px) scale(1.1)}
}

/* ============================================
   NAVIGATION
   ============================================ */
.navbar{
  position:fixed;
  top:0;left:0;right:0;
  z-index:1000;
  padding:18px 5%;
  background:rgba(255, 248, 242, 0.75);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--glass-border);
  transition:var(--transition);
}
.navbar.scrolled{
  padding:12px 5%;
  box-shadow:var(--shadow-soft);
}
.nav-container{
  max-width:1400px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.logo{
  display:flex;
  align-items:center;
  gap:12px;
  font-family:'Playfair Display', serif;
  font-size:1.4rem;
  font-weight:700;
  color:var(--mocha-deep);
}
.logo-icon{
  width:48px;height:48px;
  background:linear-gradient(135deg, var(--mocha-dark), var(--mocha-medium));
  border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  font-size:1.3rem;
  box-shadow:0 8px 20px var(--accent-glow);
  transition:var(--transition);
}
.logo:hover .logo-icon{transform:rotate(-8deg) scale(1.05)}
.logo-text span{color:var(--mocha-medium);display:block;font-size:0.7rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;font-family:'Inter',sans-serif}

.nav-links{
  display:flex;
  gap:35px;
  align-items:center;
}
.nav-links a{
  font-size:0.95rem;
  font-weight:500;
  color:var(--mocha-deep);
  position:relative;
  transition:var(--transition);
}
.nav-links a::after{
  content:'';
  position:absolute;
  bottom:-6px;left:0;
  width:0;height:2px;
  background:linear-gradient(90deg, var(--mocha-medium), var(--mocha-dark));
  transition:var(--transition);
}
.nav-links a:hover{color:var(--mocha-dark)}
.nav-links a:hover::after{width:100%}

.cta-btn{
  background:linear-gradient(135deg, var(--mocha-dark), var(--mocha-medium));
  color:#fff;
  padding:12px 28px;
  border-radius:50px;
  font-weight:600;
  font-size:0.9rem;
  box-shadow:0 8px 24px var(--accent-glow);
  transition:var(--transition);
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.cta-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 35px var(--accent-glow);
}

.mobile-toggle{
  display:none;
  font-size:1.5rem;
  color:var(--mocha-dark);
  background:none;
}

/* ============================================
   HERO SECTION
   ============================================ */
.hero{
  min-height:100vh;
  padding:140px 5% 80px;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg, var(--mocha-cream) 0%, var(--mocha-light) 100%);
}
.hero::before{
  content:'';
  position:absolute;
  top:50%;left:50%;
  width:800px;height:800px;
  background:radial-gradient(circle, rgba(164, 120, 100, 0.15), transparent 70%);
  transform:translate(-50%, -50%);
  border-radius:50%;
  animation:pulse 8s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{transform:translate(-50%, -50%) scale(1);opacity:0.5}
  50%{transform:translate(-50%, -50%) scale(1.2);opacity:0.8}
}

.hero-container{
  max-width:1400px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  position:relative;
  z-index:2;
  width:100%;
}
.hero-content{animation:fadeUp 1s ease-out}

.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(164, 120, 100, 0.15);
  padding:8px 18px;
  border-radius:50px;
  font-size:0.85rem;
  font-weight:600;
  color:var(--mocha-dark);
  margin-bottom:24px;
  backdrop-filter:blur(10px);
  border:1px solid rgba(164, 120, 100, 0.3);
}
.hero-badge i{color:var(--mocha-medium)}

.hero h1{
  font-size:clamp(2.5rem, 5vw, 4.5rem);
  margin-bottom:24px;
  letter-spacing:-0.02em;
}
.hero h1 .highlight{
  background:linear-gradient(135deg, var(--mocha-dark), var(--mocha-medium));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  position:relative;
}
.hero h1 .highlight::after{
  content:'';
  position:absolute;
  bottom:5px;left:0;right:0;
  height:8px;
  background:linear-gradient(90deg, transparent, var(--accent-glow), transparent);
  z-index:-1;
  border-radius:50%;
}

.hero-desc{
  font-size:1.1rem;
  color:var(--mocha-deep);
  opacity:0.8;
  margin-bottom:36px;
  max-width:540px;
}

.hero-actions{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:50px;
}
.btn-primary{
  background:linear-gradient(135deg, var(--mocha-dark), var(--mocha-medium));
  color:#fff;
  padding:16px 32px;
  border-radius:50px;
  font-weight:600;
  font-size:1rem;
  box-shadow:0 10px 30px var(--accent-glow);
  transition:var(--transition);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.btn-primary:hover{transform:translateY(-4px);box-shadow:0 20px 40px var(--accent-glow)}
.btn-secondary{
  background:var(--glass-bg);
  color:var(--mocha-dark);
  padding:16px 32px;
  border-radius:50px;
  font-weight:600;
  font-size:1rem;
  border:1px solid var(--glass-border);
  backdrop-filter:blur(10px);
  transition:var(--transition);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.btn-secondary:hover{background:#fff;transform:translateY(-4px)}

.hero-stats{
  display:flex;
  gap:40px;
  flex-wrap:wrap;
}
.stat-item{
  position:relative;
}
.stat-item::after{
  content:'';
  position:absolute;
  right:-20px;top:50%;
  transform:translateY(-50%);
  width:1px;height:40px;
  background:rgba(164, 120, 100, 0.3);
}
.stat-item:last-child::after{display:none}
.stat-number{
  font-family:'Playfair Display', serif;
  font-size:2.2rem;
  font-weight:800;
  color:var(--mocha-dark);
  display:block;
}
.stat-label{
  font-size:0.85rem;
  color:var(--mocha-deep);
  opacity:0.7;
  text-transform:uppercase;
  letter-spacing:1px;
}

.hero-image{
  position:relative;
  animation:fadeRight 1.2s ease-out;
}
.hero-img-main{
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-heavy);
  aspect-ratio:4/5;
  position:relative;
}
.hero-img-main img{
  width:100%;height:100%;
  object-fit:cover;
  transition:var(--transition);
}
.hero-img-main:hover img{transform:scale(1.05)}

.floating-card{
  position:absolute;
  background:var(--glass-bg);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-md);
  padding:18px 22px;
  box-shadow:var(--shadow-medium);
  display:flex;
  align-items:center;
  gap:14px;
  animation:floatCard 4s ease-in-out infinite;
}
.floating-card.card-1{
  top:30px;left:-40px;
}
.floating-card.card-2{
  bottom:60px;right:-40px;
  animation-delay:1s;
}
.floating-card .icon-circle{
  width:48px;height:48px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--mocha-dark), var(--mocha-medium));
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  font-size:1.2rem;
}
.floating-card .text strong{display:block;color:var(--mocha-deep);font-size:0.95rem}
.floating-card .text span{font-size:0.8rem;color:var(--mocha-dark);opacity:0.7}

@keyframes floatCard{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-15px)}
}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(30px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes fadeRight{
  from{opacity:0;transform:translateX(30px)}
  to{opacity:1;transform:translateX(0)}
}

/* ============================================
   SECTION BASE
   ============================================ */
section{
  padding:100px 5%;
  position:relative;
  z-index:1;
}
.container{
  max-width:1400px;
  margin:0 auto;
}
.section-header{
  text-align:center;
  max-width:720px;
  margin:0 auto 70px;
}
.section-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 16px;
  background:rgba(164, 120, 100, 0.12);
  border:1px solid rgba(164, 120, 100, 0.25);
  border-radius:50px;
  font-size:0.8rem;
  font-weight:600;
  color:var(--mocha-dark);
  text-transform:uppercase;
  letter-spacing:1.5px;
  margin-bottom:18px;
}
.section-title{
  font-size:clamp(2rem, 4vw, 3.2rem);
  margin-bottom:18px;
  letter-spacing:-0.02em;
}
.section-subtitle{
  color:var(--mocha-deep);
  opacity:0.75;
  font-size:1.05rem;
}

/* ============================================
   ABOUT SECTION
   ============================================ */
.about{background:var(--mocha-cream)}
.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}
.about-image{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-heavy);
}
.about-image img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  transition:var(--transition);
}
.about-image:hover img{transform:scale(1.04)}
.about-image::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, transparent 50%, rgba(92, 64, 51, 0.15));
  pointer-events:none;
}
.experience-badge{
  position:absolute;
  bottom:30px;right:30px;
  background:var(--glass-bg);
  backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);
  padding:20px 26px;
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-medium);
}
.experience-badge strong{
  display:block;
  font-family:'Playfair Display', serif;
  font-size:2.5rem;
  color:var(--mocha-dark);
  line-height:1;
}
.experience-badge span{
  font-size:0.85rem;
  color:var(--mocha-deep);
  opacity:0.8;
}

.about-content h2{
  font-size:clamp(1.8rem, 3.5vw, 2.8rem);
  margin-bottom:20px;
}
.about-content p{
  color:var(--mocha-deep);
  opacity:0.8;
  margin-bottom:18px;
  font-size:1.02rem;
}
.about-highlights{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:30px;
}
.highlight-item{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:500;
  color:var(--mocha-deep);
}
.highlight-item i{
  width:32px;height:32px;
  background:linear-gradient(135deg, var(--mocha-dark), var(--mocha-medium));
  color:#fff;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:0.85rem;
  flex-shrink:0;
}

/* ============================================
   VISION / MISSION / VALUES
   ============================================ */
.vmv-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:30px;
  margin-top:50px;
}
.vmv-card{
  background:var(--glass-bg);
  backdrop-filter:blur(15px);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-lg);
  padding:40px 32px;
  text-align:center;
  transition:var(--transition);
  box-shadow:var(--shadow-soft);
}
.vmv-card:hover{
  transform:translateY(-10px);
  box-shadow:var(--shadow-heavy);
}
.vmv-icon{
  width:72px;height:72px;
  margin:0 auto 24px;
  background:linear-gradient(135deg, var(--mocha-dark), var(--mocha-medium));
  border-radius:20px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  font-size:1.8rem;
  box-shadow:0 12px 30px var(--accent-glow);
}
.vmv-card h3{
  font-size:1.5rem;
  margin-bottom:14px;
}
.vmv-card p{
  color:var(--mocha-deep);
  opacity:0.75;
  font-size:0.95rem;
}

/* ============================================
   FEATURES / WHY CHOOSE US
   ============================================ */
.features{
  background:linear-gradient(180deg, var(--mocha-cream), var(--mocha-light));
}
.features-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
}
.feature-card{
  background:#fff;
  border-radius:var(--radius-lg);
  padding:36px 28px;
  transition:var(--transition);
  border:1px solid rgba(164, 120, 100, 0.1);
  position:relative;
  overflow:hidden;
}
.feature-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg, var(--mocha-dark), var(--mocha-medium));
  transform:scaleX(0);
  transform-origin:left;
  transition:var(--transition);
}
.feature-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-medium);
}
.feature-card:hover::before{transform:scaleX(1)}
.feature-icon{
  width:58px;height:58px;
  background:linear-gradient(135deg, rgba(92, 64, 51, 0.1), rgba(164, 120, 100, 0.15));
  border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  color:var(--mocha-dark);
  font-size:1.5rem;
  margin-bottom:22px;
  transition:var(--transition);
}
.feature-card:hover .feature-icon{
  background:linear-gradient(135deg, var(--mocha-dark), var(--mocha-medium));
  color:#fff;
  transform:rotate(-5deg) scale(1.05);
}
.feature-card h4{
  font-size:1.2rem;
  margin-bottom:10px;
}
.feature-card p{
  color:var(--mocha-deep);
  opacity:0.75;
  font-size:0.92rem;
}

/* ============================================
   WORK PROCESS
   ============================================ */
.process{background:var(--mocha-cream)}
.process-timeline{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:20px;
  position:relative;
}
.process-timeline::before{
  content:'';
  position:absolute;
  top:40px;left:10%;right:10%;
  height:2px;
  background:linear-gradient(90deg, transparent, var(--mocha-medium), transparent);
  z-index:0;
}
.process-step{
  text-align:center;
  position:relative;
  z-index:1;
}
.step-number{
  width:80px;height:80px;
  margin:0 auto 20px;
  background:linear-gradient(135deg, var(--mocha-dark), var(--mocha-medium));
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  font-family:'Playfair Display', serif;
  font-size:1.8rem;
  font-weight:700;
  box-shadow:0 12px 30px var(--accent-glow);
  border:5px solid var(--mocha-cream);
  transition:var(--transition);
}
.process-step:hover .step-number{
  transform:scale(1.1) rotate(10deg);
}
.process-step h4{
  font-size:1.1rem;
  margin-bottom:8px;
}
.process-step p{
  font-size:0.88rem;
  color:var(--mocha-deep);
  opacity:0.75;
}

/* ============================================
   SERVICES
   ============================================ */
.services{
  background:linear-gradient(180deg, var(--mocha-light), var(--mocha-cream));
}
.services-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
}
.service-card{
  background:#fff;
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:var(--transition);
  border:1px solid rgba(164, 120, 100, 0.1);
  cursor:pointer;
  position:relative;
}
.service-image{
  aspect-ratio:16/10;
  overflow:hidden;
  position:relative;
}
.service-image img{
  width:100%;height:100%;
  object-fit:cover;
  transition:var(--transition);
}
.service-card:hover .service-image img{transform:scale(1.08)}
.service-image::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(41, 33, 29, 0.6));
}
.service-icon-float{
  position:absolute;
  bottom:20px;left:20px;
  width:56px;height:56px;
  background:var(--glass-bg);
  backdrop-filter:blur(10px);
  border:1px solid var(--glass-border);
  border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  color:var(--mocha-dark);
  font-size:1.4rem;
  z-index:2;
  box-shadow:var(--shadow-soft);
}
.service-content{padding:24px 24px 28px}
.service-content h4{
  font-size:1.25rem;
  margin-bottom:10px;
  color:var(--mocha-deep);
}
.service-content p{
  color:var(--mocha-deep);
  opacity:0.75;
  font-size:0.92rem;
  margin-bottom:14px;
}
.service-link{
  color:var(--mocha-dark);
  font-weight:600;
  font-size:0.9rem;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:var(--transition);
}
.service-card:hover .service-link{gap:12px}
.service-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-medium);
}

/* ============================================
   PRICING
   ============================================ */
.pricing{background:var(--mocha-cream)}
.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:30px;
  max-width:1200px;
  margin:0 auto;
}
.pricing-card{
  background:#fff;
  border-radius:var(--radius-lg);
  padding:40px 32px;
  transition:var(--transition);
  border:1px solid rgba(164, 120, 100, 0.12);
  position:relative;
  overflow:hidden;
}
.pricing-card.featured{
  background:linear-gradient(135deg, var(--mocha-dark), var(--mocha-medium));
  color:#fff;
  transform:scale(1.05);
  box-shadow:var(--shadow-heavy);
}
.pricing-card.featured h4,
.pricing-card.featured .price,
.pricing-card.featured .price-label,
.pricing-card.featured .price .currency,
.pricing-card.featured .price .period{color:#fff}
.pricing-card.featured .pricing-features li{color:rgba(255,255,255,0.9)}
.pricing-card.featured .pricing-features i{color:#fff}
.pricing-badge{
  position:absolute;
  top:20px;right:20px;
  background:#fff;
  color:var(--mocha-dark);
  padding:4px 12px;
  border-radius:50px;
  font-size:0.75rem;
  font-weight:700;
  text-transform:uppercase;
}
.pricing-card:not(.featured):hover{
  transform:translateY(-10px);
  box-shadow:var(--shadow-medium);
}
.pricing-card h4{
  font-size:1.4rem;
  margin-bottom:8px;
}
.pricing-card .tag{
  font-size:0.85rem;
  opacity:0.7;
  margin-bottom:20px;
}
.price{
  font-family:'Playfair Display', serif;
  font-size:3.2rem;
  font-weight:800;
  line-height:1;
  margin-bottom:6px;
  color:var(--mocha-dark);
}
.price .currency{font-size:1.4rem;vertical-align:top}
.price-label, .price .period{
  font-size:0.85rem;
  opacity:0.7;
  font-family:'Inter',sans-serif;
  font-weight:500;
  color:var(--mocha-deep);
}
.pricing-divider{
  height:1px;
  background:rgba(164, 120, 100, 0.2);
  margin:24px 0;
}
.pricing-card.featured .pricing-divider{background:rgba(255,255,255,0.25)}
.pricing-features{margin-bottom:28px}
.pricing-features li{
  padding:8px 0;
  font-size:0.92rem;
  color:var(--mocha-deep);
  display:flex;
  align-items:center;
  gap:10px;
}
.pricing-features i{color:var(--mocha-medium);font-size:0.85rem}
.pricing-btn{
  width:100%;
  padding:14px;
  border-radius:50px;
  font-weight:600;
  font-size:0.95rem;
  transition:var(--transition);
  background:linear-gradient(135deg, var(--mocha-dark), var(--mocha-medium));
  color:#fff;
  box-shadow:0 8px 20px var(--accent-glow);
}
.pricing-card.featured .pricing-btn{
  background:#fff;
  color:var(--mocha-dark);
}
.pricing-btn:hover{transform:translateY(-2px)}

/* ============================================
   HOME LOAN & WARRANTY
   ============================================ */
.loan-warranty{
  background:linear-gradient(135deg, var(--mocha-dark), var(--mocha-medium));
  color:#fff;
}
.loan-warranty .section-title{color:#fff}
.loan-warranty .section-subtitle{color:rgba(255,255,255,0.85)}
.loan-warranty .section-badge{background:rgba(255,255,255,0.15);border-color:rgba(255,255,255,0.3);color:#fff}
.lw-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  margin-top:40px;
}
.lw-card{
  background:var(--glass-bg);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.2);
  border-radius:var(--radius-lg);
  padding:40px;
  color:var(--mocha-deep);
  transition:var(--transition);
}
.lw-card:hover{transform:translateY(-8px)}
.lw-img{
  aspect-ratio:16/9;
  border-radius:var(--radius-md);
  overflow:hidden;
  margin-bottom:24px;
}
.lw-img img{width:100%;height:100%;object-fit:cover}
.lw-card h3{
  font-size:1.6rem;
  margin-bottom:12px;
  display:flex;
  align-items:center;
  gap:12px;
}
.lw-card h3 i{color:var(--mocha-dark);font-size:1.4rem}
.lw-card p{
  color:var(--mocha-deep);
  opacity:0.8;
  font-size:0.98rem;
}

/* ============================================
   BOOKING FORM
   ============================================ */
.booking{background:var(--mocha-cream)}
.booking-wrapper{
  max-width:900px;
  margin:0 auto;
  background:#fff;
  border-radius:var(--radius-lg);
  padding:50px;
  box-shadow:var(--shadow-medium);
  border:1px solid rgba(164, 120, 100, 0.1);
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.form-group{
  position:relative;
}
.form-group.full{grid-column:span 2}
.form-group label{
  display:block;
  font-size:0.85rem;
  font-weight:600;
  color:var(--mocha-dark);
  margin-bottom:8px;
}
.form-group input,
.form-group select,
.form-group textarea{
  width:100%;
  padding:14px 18px;
  border:1.5px solid rgba(164, 120, 100, 0.2);
  border-radius:var(--radius-sm);
  font-family:inherit;
  font-size:0.95rem;
  color:var(--mocha-deep);
  background:var(--mocha-cream);
  transition:var(--transition);
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  outline:none;
  border-color:var(--mocha-medium);
  background:#fff;
  box-shadow:0 0 0 4px rgba(164, 120, 100, 0.1);
}
.form-group textarea{resize:vertical;min-height:120px}
.form-submit{
  grid-column:span 2;
  text-align:center;
  margin-top:10px;
}

/* ============================================
   REVIEWS
   ============================================ */
.reviews{
  background:linear-gradient(180deg, var(--mocha-cream), var(--mocha-light));
}
.reviews-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
}
.review-card{
  background:#fff;
  border-radius:var(--radius-lg);
  padding:32px;
  transition:var(--transition);
  border:1px solid rgba(164, 120, 100, 0.1);
  position:relative;
}
.review-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-medium);
}
.review-card::before{
  content:'\f10d';
  font-family:'Font Awesome 6 Free';
  font-weight:900;
  position:absolute;
  top:24px;right:28px;
  font-size:2.5rem;
  color:var(--mocha-light);
}
.review-stars{
  color:#F5A623;
  margin-bottom:16px;
  font-size:0.95rem;
}
.review-text{
  color:var(--mocha-deep);
  opacity:0.85;
  font-size:0.95rem;
  margin-bottom:24px;
  font-style:italic;
  line-height:1.7;
}
.review-author{
  display:flex;
  align-items:center;
  gap:14px;
  border-top:1px solid rgba(164, 120, 100, 0.15);
  padding-top:18px;
}
.review-avatar{
  width:50px;height:50px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid var(--mocha-light);
}
.review-author-info strong{
  display:block;
  color:var(--mocha-deep);
  font-size:0.95rem;
}
.review-author-info span{
  font-size:0.82rem;
  color:var(--mocha-medium);
}

/* ============================================
   FAQ
   ============================================ */
.faq{background:var(--mocha-cream)}
.faq-wrapper{
  max-width:900px;
  margin:0 auto;
}
.faq-item{
  background:#fff;
  border-radius:var(--radius-md);
  margin-bottom:14px;
  border:1px solid rgba(164, 120, 100, 0.12);
  overflow:hidden;
  transition:var(--transition);
}
.faq-item.active{
  box-shadow:var(--shadow-soft);
  border-color:var(--mocha-medium);
}
.faq-question{
  padding:22px 26px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
  font-weight:600;
  color:var(--mocha-deep);
  gap:16px;
  font-size:1rem;
}
.faq-question i{
  color:var(--mocha-dark);
  transition:var(--transition);
  font-size:0.9rem;
  flex-shrink:0;
}
.faq-item.active .faq-question i{transform:rotate(180deg)}
.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.4s ease;
}
.faq-answer-inner{
  padding:0 26px 22px;
  color:var(--mocha-deep);
  opacity:0.8;
  font-size:0.95rem;
  line-height:1.7;
}

/* ============================================
   CONTACT
   ============================================ */
.contact{
  background:linear-gradient(180deg, var(--mocha-light), var(--mocha-cream));
}
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:50px;
}
.contact-info-card{
  background:#fff;
  border-radius:var(--radius-lg);
  padding:40px;
  box-shadow:var(--shadow-soft);
  border:1px solid rgba(164, 120, 100, 0.1);
}
.contact-info-card h3{
  font-size:1.6rem;
  margin-bottom:10px;
}
.contact-info-card > p{
  color:var(--mocha-deep);
  opacity:0.75;
  margin-bottom:32px;
}
.contact-list{margin-bottom:32px}
.contact-list li{
  display:flex;
  gap:16px;
  margin-bottom:22px;
  align-items:flex-start;
}
.contact-icon{
  width:48px;height:48px;
  background:linear-gradient(135deg, var(--mocha-dark), var(--mocha-medium));
  color:#fff;
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;
  flex-shrink:0;
  box-shadow:0 6px 15px var(--accent-glow);
}
.contact-list li div strong{
  display:block;
  color:var(--mocha-deep);
  margin-bottom:3px;
  font-size:0.95rem;
}
.contact-list li div p,
.contact-list li div a{
  color:var(--mocha-deep);
  opacity:0.75;
  font-size:0.9rem;
  transition:var(--transition);
}
.contact-list li div a:hover{color:var(--mocha-dark);opacity:1}

.social-icons{display:flex;gap:12px}
.social-icons a{
  width:42px;height:42px;
  background:var(--mocha-cream);
  color:var(--mocha-dark);
  border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  transition:var(--transition);
  font-size:1rem;
}
.social-icons a:hover{
  background:linear-gradient(135deg, var(--mocha-dark), var(--mocha-medium));
  color:#fff;
  transform:translateY(-3px);
}

.contact-form{
  background:#fff;
  border-radius:var(--radius-lg);
  padding:40px;
  box-shadow:var(--shadow-soft);
  border:1px solid rgba(164, 120, 100, 0.1);
}

/* ============================================
   FOOTER
   ============================================ */
footer{
  background:var(--mocha-deep);
  color:var(--mocha-light);
  padding:80px 5% 30px;
  position:relative;
  overflow:hidden;
}
footer::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg, var(--mocha-dark), var(--mocha-medium), var(--mocha-dark));
}
.footer-grid{
  max-width:1400px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1.2fr;
  gap:50px;
  margin-bottom:50px;
}
.footer-col h4{
  color:#fff;
  font-size:1.1rem;
  margin-bottom:22px;
  position:relative;
  padding-bottom:12px;
}
.footer-col h4::after{
  content:'';
  position:absolute;
  bottom:0;left:0;
  width:35px;height:2px;
  background:var(--mocha-medium);
}
.footer-col p{
  color:rgba(231, 220, 207, 0.75);
  font-size:0.92rem;
  line-height:1.7;
  margin-bottom:20px;
}
.footer-col ul li{
  margin-bottom:10px;
}
.footer-col ul a{
  color:rgba(231, 220, 207, 0.75);
  font-size:0.92rem;
  transition:var(--transition);
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.footer-col ul a:hover{color:var(--mocha-medium);transform:translateX(4px)}
.footer-col ul a i{font-size:0.7rem;color:var(--mocha-medium)}

.newsletter-form{
  display:flex;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:50px;
  padding:4px;
  margin-top:15px;
}
.newsletter-form input{
  flex:1;
  background:none;
  border:none;
  outline:none;
  padding:10px 18px;
  color:#fff;
  font-family:inherit;
  font-size:0.9rem;
}
.newsletter-form input::placeholder{color:rgba(231,220,207,0.5)}
.newsletter-form button{
  background:linear-gradient(135deg, var(--mocha-medium), var(--mocha-light));
  color:var(--mocha-deep);
  padding:10px 22px;
  border-radius:50px;
  font-weight:600;
  font-size:0.85rem;
  transition:var(--transition);
}
.newsletter-form button:hover{transform:scale(1.05)}
.footer-col .unsub-link{
  display:inline-block;
  margin-top:12px;
  color:rgba(231, 220, 207, 0.6);
  font-size:0.8rem;
  text-decoration:underline;
}

.footer-bottom{
  max-width:1400px;
  margin:0 auto;
  padding-top:30px;
  border-top:1px solid rgba(255,255,255,0.1);
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:15px;
  color:rgba(231, 220, 207, 0.65);
  font-size:0.88rem;
}
.footer-bottom a{color:rgba(231, 220, 207, 0.65);transition:var(--transition)}
.footer-bottom a:hover{color:var(--mocha-medium)}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width:1100px){
  .features-grid{grid-template-columns:repeat(2,1fr)}
  .process-timeline{grid-template-columns:repeat(3,1fr)}
  .process-timeline::before{display:none}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
}
@media (max-width:900px){
  .hero-container,.about-grid,.contact-grid{grid-template-columns:1fr;gap:50px}
  .vmv-grid,.pricing-grid,.reviews-grid,.lw-grid{grid-template-columns:1fr}
  .pricing-card.featured{transform:none}
  .nav-links{
    position:fixed;
    top:80px;left:0;right:0;
    background:rgba(255,248,242,0.98);
    backdrop-filter:blur(20px);
    flex-direction:column;
    padding:30px;
    gap:20px;
    box-shadow:var(--shadow-medium);
    transform:translateY(-200%);
    transition:var(--transition);
    border-bottom:1px solid var(--glass-border);
  }
  .nav-links.open{transform:translateY(0)}
  .mobile-toggle{display:block}
  .hero{padding-top:120px}
  .booking-wrapper,.contact-form,.contact-info-card{padding:30px}
  .form-grid{grid-template-columns:1fr}
  .form-group.full{grid-column:span 1}
  .form-submit{grid-column:span 1}
}
@media (max-width:600px){
  section{padding:70px 5%}
  .features-grid,.services-grid,.reviews-grid{grid-template-columns:1fr}
  .process-timeline{grid-template-columns:1fr;gap:30px}
  .hero-stats{gap:24px}
  .stat-item::after{display:none}
  .footer-grid{grid-template-columns:1fr;gap:35px}
  .footer-bottom{flex-direction:column;text-align:center}
  .floating-card.card-1{left:10px;top:10px}
  .floating-card.card-2{right:10px;bottom:10px}
}

/* ============================================
   SCROLL REVEAL
   ============================================ */
.reveal{
  opacity:0;
  transform:translateY(40px);
  transition:all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.reveal.active{
  opacity:1;
  transform:translateY(0);
}
