
.wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
.eyebrow{
  font-size:13px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--terracotta);margin-bottom:10px;display:inline-block;
}
.eyebrow-light{color:var(--marigold);}
.center-head{text-align:center;max-width:640px;margin:0 auto 44px;}
.center-head .sub{color:#5b5245;margin-top:10px;font-size:15px;}



section{padding:88px 0;}
.section-tight{padding:64px 0;}



/* About */
.about-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:start;}
.about-grid p{color:#4a4136;font-size:16px;margin-bottom:14px;max-width:520px;}
.about-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.fact-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
.fact-card b{font-family:'Fraunces',serif;font-size:22px;color:var(--indigo);display:block;margin-bottom:4px;}
.fact-card span{font-size:14px;color:#5b5245;}
@media (max-width:900px){.about-grid{grid-template-columns:1fr;}}

/* Services */
.services-head{max-width:640px;margin-bottom:44px;}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.service-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;}
.service-card .num{font-size:12px;font-weight:700;color:var(--terracotta);letter-spacing:0.06em;}
.service-card h3{font-size:19px;margin:10px 0 10px;}
.service-card p{font-size:14.5px;color:#5b5245;margin-bottom:16px;}
.service-card ul{font-size:14px;color:#4a4136;margin-bottom:18px;}
.service-card li{padding:5px 0;border-top:1px solid var(--line);}
.service-card li:first-child{border-top:none;}
.thumb-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;}
.thumb-row img{border-radius:8px;height:60px;object-fit:cover;}
.metric-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;font-size:13.5px;font-weight:700;color:var(--indigo);}
@media (max-width:900px){.service-cards{grid-template-columns:1fr;}}

/* Why choose us */
.why-band{background:var(--indigo);color:var(--cream);}
.why-band h2{margin-bottom:36px;font-size:28px;}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.why-item{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:var(--radius);padding:20px;font-size:14.5px;font-weight:600;}
.why-item .mark{color:var(--marigold);font-size:18px;margin-right:8px;}
@media (max-width:900px){.why-grid{grid-template-columns:1fr 1fr;}}

/* Technologies */
.tech-row{display:flex;flex-wrap:wrap;gap:12px;}
.tech-chip{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;color:var(--indigo);}

/* Portfolio */
.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.portfolio-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;min-height:130px;display:flex;flex-direction:column;justify-content:space-between;}
.portfolio-card h4{font-size:16px;color:var(--indigo);}
.portfolio-card span{font-size:13px;color:#5b5245;}
@media (max-width:900px){.portfolio-grid{grid-template-columns:1fr 1fr;}}

/* Steps */
.steps-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}
.step{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px 16px;text-align:center;}
.step-num{display:inline-block;width:30px;height:30px;line-height:30px;border-radius:50%;background:var(--terracotta);color:var(--paper);font-weight:700;margin-bottom:10px;}
.step h4{font-size:15px;margin-bottom:6px;}
.step p{font-size:13px;color:#5b5245;}
@media (max-width:900px){.steps-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.steps-grid{grid-template-columns:1fr 1fr;}}

/* Packages */
.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.pack-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;position:relative;}
.pack-card.popular{border:2px solid var(--terracotta);}
.pack-badge{position:absolute;top:-13px;left:24px;background:var(--terracotta);color:var(--paper);font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;}
.pack-card h3{font-size:19px;margin-bottom:4px;}
.pack-card .price{font-family:'Fraunces',serif;font-size:28px;color:var(--terracotta);margin:8px 0 2px;}
.pack-card .price span{font-size:14px;color:#5b5245;font-family:'Manrope',sans-serif;}
.pack-qty{font-size:13px;color:#5b5245;}
.pack-card ul{font-size:14px;color:#4a4136;margin:16px 0 20px;}
.pack-card li{padding:4px 0;}
.pack-card li::before{content:"✔ ";color:var(--terracotta);}
@media (max-width:900px){.pack-grid{grid-template-columns:1fr;}}

/* Testimonials */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.testimonial-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.stars{color:var(--marigold);margin-bottom:10px;}
.testimonial-card p{font-size:14.5px;color:#4a4136;margin-bottom:18px;font-style:italic;}
.testi-person{display:flex;align-items:center;gap:12px;}
.testi-person img{width:44px;height:44px;border-radius:50%;object-fit:cover;}
.testi-person b{font-size:14px;display:block;}
.testi-person span{font-size:12.5px;color:#5b5245;}
.clients-line{text-align:center;margin-top:36px;font-size:15px;color:#4a4136;}
@media (max-width:900px){.testimonial-grid{grid-template-columns:1fr;}}

/* FAQ */
.faq-item{border-top:1px solid var(--line);padding:20px 0;max-width:820px;margin:0 auto;}
.faq-item h4{font-size:16.5px;color:var(--indigo);margin-bottom:8px;}
.faq-item p{font-size:14.5px;color:#4a4136;}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.blog-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.blog-card .tag{font-size:12px;font-weight:700;color:var(--terracotta);text-transform:uppercase;letter-spacing:0.08em;}
.blog-card h4{font-size:16.5px;margin:10px 0 8px;color:var(--indigo);}
.blog-card p{font-size:14px;color:#5b5245;}
.blog-note{text-align:center;font-size:13.5px;color:#5b5245;margin-top:20px;}
@media (max-width:900px){.blog-grid{grid-template-columns:1fr;}}

/* CTA */
.cta-band{background:linear-gradient(135deg,var(--terracotta),#a5382f);color:var(--paper);border-radius:20px;padding:52px;text-align:center;}
.cta-band .deco{display:block;letter-spacing:0.3em;opacity:0.7;margin-bottom:14px;}
.cta-band h2{color:var(--paper);font-size:28px;margin-bottom:14px;}
.cta-band p{max-width:520px;margin:0 auto 26px;opacity:0.92;}
.cta-band .btn-primary{background:var(--paper);color:var(--terracotta);}

/* Footer */
footer{background:var(--indigo);color:rgba(251,241,227,0.85);padding:56px 0 28px;margin-top:60px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;margin-bottom:40px;}
.footer-grid h4{color:var(--cream);font-size:14px;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:14px;}
.footer-grid ul{font-size:14.5px;}
.footer-grid li{margin-bottom:8px;}
.footer-grid li a:hover{color:var(--marigold);}
.foot-logo{display:flex;align-items:center;gap:8px;font-family:'Fraunces',serif;font-size:19px;color:var(--cream);margin-bottom:12px;}
.foot-logo span{color:var(--marigold);}
.foot-desc{font-size:14px;max-width:280px;color:rgba(251,241,227,0.75);}
.foot-bottom{border-top:1px solid rgba(255,255,255,0.14);padding-top:20px;font-size:13px;text-align:center;color:rgba(251,241,227,0.6);}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}

/* ---------- Interaction effects ---------- */

/* Buttons: shine sweep on hover + ripple on click */
.btn{position:relative;overflow:hidden;isolation:isolate;}
.btn::before{
  content:"";position:absolute;top:0;left:-75%;width:45%;height:100%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,0.55), transparent);
  transform:skewX(-20deg);transition:left .55s ease;z-index:1;pointer-events:none;
}
.btn:hover::before{left:130%;}
.btn:active{transform:scale(0.96);}
.ripple{
  position:absolute;border-radius:50%;background:rgba(255,255,255,0.55);
  transform:scale(0);animation:ripple-anim .6s ease-out;pointer-events:none;z-index:0;
}
@keyframes ripple-anim{to{transform:scale(3.2);opacity:0;}}

/* Card hover lift */
.service-card,.pack-card,.portfolio-card,.blog-card,.testimonial-card,.fact-card,.why-item,.tech-chip,.step{
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.service-card:hover,.pack-card:hover,.portfolio-card:hover,.blog-card:hover,.testimonial-card:hover,.fact-card:hover,.step:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 34px rgba(35,42,92,0.14);
  border-color:rgba(193,68,60,0.35);
}
.why-item{transition:transform .22s ease, background .22s ease;}
.why-item:hover{transform:translateY(-4px);background:rgba(255,255,255,0.12);}
.tech-chip:hover{transform:translateY(-3px);border-color:var(--terracotta);color:var(--terracotta);}

/* Thumbnail zoom on hover */
.thumb-row img{transition:transform .35s ease;cursor:pointer;}
.thumb-row img:hover{transform:scale(1.08);}
.testi-person img{transition:transform .3s ease;}
.testimonial-card:hover .testi-person img{transform:scale(1.08) rotate(-2deg);}

/* Hero image gentle zoom */
.hero-img{transition:transform .6s ease;}
.hero-visual:hover .hero-img{transform:scale(1.04);}

/* Logo nudge on hover */
.logo,.foot-logo{transition:transform .25s ease;}
.logo:hover,.foot-logo:hover{transform:translateY(-2px);}

/* Nav links underline sweep */
.nav-links a{position:relative;}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--terracotta);
  transition:width .25s ease;
}
.nav-links a:hover::after{width:100%;}

/* Package card pop on hover */
.pack-card.popular:hover{transform:translateY(-8px) scale(1.015);}

/* Floating WhatsApp button pulse + hover pop */
.wa-float{transition:transform .2s ease;animation:wa-pulse 2.6s ease-in-out infinite;}
.wa-float:hover{transform:scale(1.12) rotate(6deg);animation-play-state:paused;}
@keyframes wa-pulse{0%,100%{box-shadow:0 10px 24px rgba(0,0,0,0.22), 0 0 0 0 rgba(37,211,102,0.5);}50%{box-shadow:0 10px 24px rgba(0,0,0,0.22), 0 0 0 10px rgba(37,211,102,0);}}

.to-top{transition:transform .2s ease;}
.to-top:hover{transform:translateY(-3px);}

/* Glitter / sparkle */
.sparkle{
  position:absolute;font-size:16px;color:var(--marigold);pointer-events:none;
  animation:twinkle 1.8s ease-in-out infinite;text-shadow:0 0 6px rgba(232,163,61,0.8);
}
.sparkle-badge{font-size:12px;}
@keyframes twinkle{
  0%,100%{opacity:0;transform:scale(0.3) rotate(0deg);}
  50%{opacity:1;transform:scale(1) rotate(20deg);}
}

/* CTA band shimmer sweep across the whole band */
.cta-band{position:relative;overflow:hidden;}
.cta-band::after{
  content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,0.18), transparent);
  transform:skewX(-20deg);animation:band-shine 4s ease-in-out infinite;
}
@keyframes band-shine{
  0%{left:-60%;}
  50%{left:130%;}
  100%{left:130%;}
}

@media (prefers-reduced-motion:reduce){
  .sparkle,.wa-float,.cta-band::after{animation:none;}
  .btn::before{transition:none;}
}

/* Floating buttons */
.wa-float{
  position:fixed;bottom:22px;right:22px;background:#25D366;color:#fff;
  width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:26px;box-shadow:0 10px 24px rgba(0,0,0,0.22);z-index:60;
}
.to-top{
  position:fixed;bottom:22px;right:88px;width:44px;height:44px;border-radius:50%;
  background:var(--indigo);color:var(--cream);border:none;font-size:18px;cursor:pointer;
  box-shadow:0 10px 24px rgba(0,0,0,0.18);z-index:60;display:none;
}
.to-top.show{display:block;}
