*{box-sizing:border-box}
:root{
  --navy:#062b62;
  --blue:#0b72bd;
  --green:#2d8f2f;
  --green-dark:#1f7323;
  --light:#f2f7fb;
  --text:#0b2b58;
  --muted:#5e728a;
  --shadow:0 20px 46px rgba(4,39,82,.13);
}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,92%);margin:auto}

.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid #e4ecf4}
.nav-wrap{min-height:92px;display:flex;align-items:center;gap:24px}
.logo{width:190px;flex:0 0 190px;position:relative}
.logo img{width:100%;height:84px;object-fit:contain}
.logo::after{
  content:"";
  position:absolute;
  width:58px;height:58px;
  left:64px;top:7px;
  border:3px solid transparent;
  border-top-color:var(--blue);
  border-right-color:var(--green);
  border-bottom-color:rgba(11,114,189,.25);
  border-left-color:rgba(45,143,47,.25);
  border-radius:50%;
  animation:orbit 4.8s linear infinite;
  pointer-events:none;
}
.nav{display:flex;gap:18px;margin-left:auto;align-items:center;font-weight:700;text-transform:uppercase;font-size:.69rem}
.nav a{padding:35px 0 12px;border-bottom:3px solid transparent;white-space:nowrap}
.nav a:hover,.nav a.active{color:var(--green);border-color:var(--green)}
.whatsapp,.button{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-weight:800;text-transform:uppercase}
.whatsapp{background:var(--green);color:#fff;padding:13px 17px;font-size:.78rem}
.menu-btn{display:none;margin-left:auto;background:none;border:0;width:40px}
.menu-btn span{display:block;height:3px;background:var(--navy);margin:6px 0;border-radius:4px}

.services-hero{position:relative;min-height:600px;overflow:hidden;background:#eef5fb}
.hero-image{position:absolute;inset:0}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.83) 40%,rgba(255,255,255,.12) 72%,rgba(4,39,82,.12))}
.hero-content{position:relative;z-index:2;min-height:600px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.eyebrow{color:var(--green-dark);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}
.eyebrow.light{color:#b9e7a6}
.services-hero h1{max-width:760px;margin:14px 0 20px;font-size:clamp(3rem,5.2vw,5.7rem);line-height:.97;text-transform:uppercase;color:var(--navy);letter-spacing:-.045em}
.services-hero p{max-width:620px;font-size:1.18rem;line-height:1.65;font-weight:700;color:#294b70}
.hero-curve{position:absolute;left:-5%;right:-5%;bottom:-55px;height:110px;border-radius:50% 50% 0 0;background:#fff;z-index:3}

.button{padding:15px 22px;font-size:.8rem;border:2px solid transparent;transition:.25s}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(4,39,82,.16)}
.button.green{background:linear-gradient(#3ba239,#257b29);color:#fff}
.button.blue{background:linear-gradient(#1679c5,#075796);color:#fff}
.button.white{background:#fff;color:var(--green-dark)}
.section{padding:92px 0}
.section-heading{text-align:center;max-width:760px;margin:0 auto 44px}
.section-heading h2,.copy h2,.mascot-copy h2,.price-band h2,.cta h2{font-size:clamp(2rem,3.4vw,3.7rem);line-height:1.06;margin:10px 0 20px;color:var(--navy)}
.section-heading p,.copy p,.mascot-copy p{font-size:1.05rem;line-height:1.72;color:var(--muted)}

.services-grid-section{background:var(--light);position:relative;overflow:hidden}
.services-grid-section::before{
  content:"";
  position:absolute;
  left:-40px;
  bottom:-45px;
  width:180px;
  height:220px;
  opacity:.06;
  background:
    radial-gradient(ellipse at 48% 90%,#2d8f2f 0 17%,transparent 18%),
    radial-gradient(ellipse at 34% 72%,#2d8f2f 0 12%,transparent 13%),
    radial-gradient(ellipse at 66% 62%,#2d8f2f 0 12%,transparent 13%),
    radial-gradient(ellipse at 28% 48%,#2d8f2f 0 10%,transparent 11%),
    radial-gradient(ellipse at 72% 37%,#2d8f2f 0 10%,transparent 11%);
}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;z-index:1}
.service-card{background:#fff;border:1px solid #dfe8f0;border-radius:20px;padding:30px 24px;box-shadow:0 12px 30px rgba(4,39,82,.08);transition:.3s}
.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 42px rgba(4,39,82,.13)}
.service-icon{font-size:2.5rem}
.service-card h3{text-transform:uppercase;font-size:1rem;color:var(--navy)}
.service-card p{font-size:.94rem;line-height:1.55;color:var(--muted)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.split.reverse{grid-template-columns:1fr 1fr}
.photo-card{border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.photo-card img{width:100%;height:520px;object-fit:cover;transition:transform .8s ease}
.photo-card:hover img{transform:scale(1.025)}
.check-list{list-style:none;padding:0;margin:24px 0}
.check-list li{position:relative;padding:10px 0 10px 34px;font-weight:700}
.check-list li::before{content:"✓";position:absolute;left:0;top:8px;width:23px;height:23px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:.8rem}

.special-items{background:#f8fbfe;position:relative;overflow:hidden}
.special-items::after{
  content:"";
  position:absolute;
  right:-20px;
  bottom:-18px;
  width:240px;
  height:130px;
  opacity:.05;
  background:
    linear-gradient(135deg,transparent 49%,#062b62 50% 74%,transparent 75%) 0 100%/155px 115px no-repeat,
    linear-gradient(45deg,transparent 49%,#062b62 50% 74%,transparent 75%) 85px 100%/155px 115px no-repeat;
}
.notice{display:flex;gap:8px;align-items:flex-start;background:#fff4df;border-left:4px solid #e49b27;padding:15px 17px;border-radius:8px;margin:22px 0}

.price-band{background:var(--navy);color:#fff;padding:58px 0}
.price-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.price-band h2{color:#fff;margin-bottom:10px}
.price-band p{font-size:1rem;line-height:1.6;color:#dce8f5}
.price-note{background:rgba(255,255,255,.08);padding:26px;border:1px solid rgba(255,255,255,.12);border-radius:18px}
.price-note h3{text-transform:uppercase;margin-top:0}

.mascot-service{background:linear-gradient(180deg,#f9fcff,#eef7ff);position:relative;overflow:hidden}
.mascot-grid{display:grid;grid-template-columns:1fr 360px;gap:50px;align-items:center}
.mascot-wrap{height:390px;position:relative;display:flex;align-items:flex-end;justify-content:center}
.mascot-wrap img{max-height:360px;object-fit:contain;transform-origin:55% 88%}
.choco-bubble{
  position:absolute;right:5%;top:5%;max-width:205px;padding:13px 16px;
  border-radius:16px 16px 5px 16px;background:#fff;color:var(--navy);
  font-size:.84rem;font-weight:800;line-height:1.4;
  box-shadow:0 14px 30px rgba(4,39,82,.13);
  opacity:0;transform:translateY(8px) scale(.96);
  transition:opacity .28s ease,transform .28s ease;
}
.choco-bubble.show{opacity:1;transform:none}
.choco-bubble::after{content:"";position:absolute;right:20px;bottom:-10px;border:10px solid transparent;border-top-color:#fff;border-right:0}
#servicesChocolito.choco-point{animation:chocoPoint .95s ease-in-out 1}
#servicesChocolito.choco-wave{animation:chocoWave .95s ease-in-out 1}
@keyframes chocoPoint{
  0%,100%{transform:rotate(0)}
  35%{transform:rotate(-2deg) translateX(-2px)}
  70%{transform:rotate(1deg)}
}
@keyframes chocoWave{
  0%,100%{transform:rotate(0) scale(1)}
  35%{transform:rotate(-1.7deg) scale(1.012)}
  70%{transform:rotate(1deg) scale(1)}
}
.text-link{color:var(--green-dark);font-weight:900}

.cta{background:linear-gradient(90deg,#27872d,#47a23d);color:#fff;padding:48px 0}
.cta-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.cta span{text-transform:uppercase;font-weight:900;letter-spacing:.12em}
.cta h2{color:#fff;font-size:2.5rem;margin:6px 0}

.footer{background:#052d62;color:#fff;padding:54px 0}
.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:34px}
.footer-brand img{width:190px;background:#fff;border-radius:8px;padding:6px}
.footer h3{text-transform:uppercase;font-size:.9rem}
.footer a,.footer span{display:block;margin:9px 0;color:#d6e3f1;font-size:.9rem}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@keyframes orbit{to{transform:rotate(360deg)}}

@media(max-width:1080px){
  .nav{gap:12px;font-size:.62rem}
  .whatsapp{display:none}
}
@media(max-width:850px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;top:92px;left:0;right:0;background:#fff;flex-direction:column;padding:22px 5%;box-shadow:0 16px 32px rgba(0,0,0,.15)}
  .nav.open{display:flex}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .split,.split.reverse,.price-grid,.mascot-grid,.cta-grid{grid-template-columns:1fr}
  .mascot-wrap{height:330px}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .logo{width:155px;flex-basis:155px}
  .logo img{height:74px}
  .logo::after{width:50px;height:50px;left:52px;top:7px;border-width:2.5px}
  .nav-wrap{min-height:80px}
  .nav{top:80px}
  .services-hero,.hero-content{min-height:540px}
  .services-hero h1{font-size:2.65rem}
  .section{padding:68px 0}
  .service-grid{grid-template-columns:1fr}
  .photo-card img{height:360px}
  .footer-grid{grid-template-columns:1fr}
  .choco-bubble{right:0;max-width:155px;font-size:.75rem}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}


/* ===== Servicios — real translucent accents only ===== */
/* Remove the old generic circle/shape accents */
.services-grid-section::before,
.special-items::after{
  display:none !important;
  content:none !important;
}

/* Real palm, volcano, and lake entering from the left */
.services-grid-section{
  position:relative;
  overflow:hidden;
}
.services-grid-section::before{
  content:"" !important;
  display:block !important;
  position:absolute;
  left:-15px;
  bottom:-8px;
  width:360px;
  height:240px;
  background:url("../assets/servicios/accent-palm-volcano.jpg") center / cover no-repeat;
  opacity:.13;
  pointer-events:none;
  z-index:0;
  -webkit-mask-image:linear-gradient(to right,#000 36%,rgba(0,0,0,.68) 64%,transparent 100%);
  mask-image:linear-gradient(to right,#000 36%,rgba(0,0,0,.68) 64%,transparent 100%);
}
.services-grid-section .container{
  position:relative;
  z-index:1;
}

/* Real flowers/greenery on the right edge of pickup section */
.featured-service{
  position:relative;
  overflow:hidden;
}
.featured-service::after{
  content:"";
  position:absolute;
  right:-18px;
  top:12%;
  width:260px;
  height:250px;
  background:url("../assets/servicios/accent-flowers-roof.jpg") center / cover no-repeat;
  opacity:.11;
  pointer-events:none;
  z-index:0;
  -webkit-mask-image:linear-gradient(to left,#000 38%,rgba(0,0,0,.66) 66%,transparent 100%);
  mask-image:linear-gradient(to left,#000 38%,rgba(0,0,0,.66) 66%,transparent 100%);
}
.featured-service .container{
  position:relative;
  z-index:1;
}

/* Real tropical greenery entering the left side of special items */
.special-items{
  position:relative;
  overflow:hidden;
}
.special-items::before{
  content:"";
  position:absolute;
  left:-22px;
  bottom:-20px;
  width:285px;
  height:240px;
  background:url("../assets/servicios/accent-greenery.jpg") center / cover no-repeat;
  opacity:.09;
  pointer-events:none;
  z-index:0;
  -webkit-mask-image:linear-gradient(to right,#000 35%,rgba(0,0,0,.62) 65%,transparent 100%);
  mask-image:linear-gradient(to right,#000 35%,rgba(0,0,0,.62) 65%,transparent 100%);
}
.special-items .container{
  position:relative;
  z-index:1;
}

/* Faint real lake/volcano texture behind pricing band */
.price-band{
  position:relative;
  overflow:hidden;
}
.price-band::after{
  content:"";
  position:absolute;
  right:-25px;
  bottom:-18px;
  width:310px;
  height:175px;
  background:url("../assets/servicios/accent-palm-volcano.jpg") center 48% / cover no-repeat;
  opacity:.08;
  pointer-events:none;
  z-index:0;
  -webkit-mask-image:linear-gradient(to left,#000 38%,rgba(0,0,0,.58) 66%,transparent 100%);
  mask-image:linear-gradient(to left,#000 38%,rgba(0,0,0,.58) 66%,transparent 100%);
}
.price-band .container{
  position:relative;
  z-index:1;
}

@media(max-width:700px){
  .services-grid-section::before,
  .featured-service::after,
  .special-items::before,
  .price-band::after{
    width:180px;
    height:135px;
    opacity:.07;
  }
}


/* v2 fix: use truck image accent on pickup section right side */
.featured-service::after{
  background:url("../assets/servicios/accent-truck-side.jpg") center/cover no-repeat !important;
  opacity:.10 !important;
}
